Cibiņš Posted October 13, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 codez Posted October 13, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 Cibiņš Posted October 13, 2011 Author Report Share 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 Link to comment Share on other sites More sharing options...
0 codez Posted October 13, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 daGrevis Posted October 13, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 codez Posted October 13, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
0 Cibiņš Posted October 13, 2011 Author Report Share Posted October 13, 2011 Idāli! LIELS paldies, tieši tas kas man ir vajadzīgs! Quote Link to comment Share on other sites More sharing options...
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?
Link to comment
Share on other sites
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.