Cibiņš Posted October 13, 2011 Report Posted October 13, 2011 Sveicināti, nesaprotu lietu, kā panākt to, kā izveidot rindu kā linku? <tr> <td>Kolonna 1.1</td> <td>Kolonna 1.2</td> <td>Kolonna 1.3</td> <td>Kolonna 1.4</td> </tr> <tr> <td>Kolonna 2.1</td> <td>Kolonna 2.2</td> <td>Kolonna 2.3</td> <td>Kolonna 2.4</td> </tr> Un kā panākt lai uzbraucot ar peli visai rindai nomainas fona krāsa? Quote
0 codez Posted October 13, 2011 Report Posted October 13, 2011 deliģē eventu, ja ar peli uzbrauc un nobrauc efektam. deliģē click eventu, lai mainītu lokāciju (strādās kā links) http://jsfiddle.net/FshjR/ Quote
0 Cibiņš Posted October 13, 2011 Author Report Posted October 13, 2011 (edited) Nu bet es tak uz katru rindu neģenerēšu $('#mytable').delegate('tr','click',function(){ alert('clicked'); }); ja teiksim man būs 1000 ierakstu, kurus izvilkt no tabulas ar php/mysql un katram būs sava saite. Nav kāds cits risinājums? Edited October 13, 2011 by Cibiņš Quote
0 codez Posted October 13, 2011 Report Posted October 13, 2011 delegate uzliek eventu uz visiem rowiem. Ja tev eventā vajag izvilk kādu unikālu parametru, ieliec to rowam kā atribūtu un izvelc: http://jsfiddle.net/FshjR/1/ Quote
0 daGrevis Posted October 13, 2011 Report Posted October 13, 2011 Kāds man var vēlreiz paskaidrot ar ko tas delegate() ieguva savu popularitāti? :D Kādēļ vienkārši neizmantot click() (šajā gadījumā)? Quote
0 codez Posted October 13, 2011 Report Posted October 13, 2011 (edited) daGrevis, eventi, kad tas tiek uzspiest uz objekta, ietu uz augšu pa dom koku, respektīvi tiek izsaukti arī katram uzspiestā elementa parentam, ja vien nav pusceļā apstādināti. Ja ir grupa vienādu child elementu, kuriem vajadzīgs vienāds events, tad, ja liek šo eventu ar $('.child').click(...); tas tiek uzlikts visiem .child elementiem. Ja šādi elementi ir 1000, tad arī 1000 reizes tas tiek likts, bez tam, ja pievieno jaunu .child elementu, tad šim elementam nav šī eventa. savukārt uzliekot delegate, būtībā tiek uzliekt viens click events uz .parent elementa. Bet tā kā events iet uz augšu pa DOM koku, tad, ja .child elements neapstādina šo eventu, tad šis events izsaucās arī uz .parent elementa, kur tas tiek salīdzināts ar event.target parametru un tie pārbaudīts vai atbilst delegate norādītājam selektoram. Šādā veidā ir jāuzstāda tikai viens events, bez tam, ja dinamiski tiek pievienoti jauni .child elementi, tad ar delegate tas reaģē arī uz nupat pievienotajiem jaunajiem elementiem, jo pats events tak ir uz .parent elementa. Un, ja .child elementu ir daudz, tad šāda deleģēšana ir arī ievērojami ātrāka. Edited October 13, 2011 by codez Quote
0 Cibiņš Posted October 13, 2011 Author Report Posted October 13, 2011 Idāli! LIELS paldies, tieši tas kas man ir vajadzīgs! Quote
Question
Cibiņš
Sveicināti, nesaprotu lietu, kā panākt to, kā izveidot rindu kā linku?
Un kā panākt lai uzbraucot ar peli visai rindai nomainas fona krāsa?
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.