andrisp Posted December 6, 2006 Report Share Posted December 6, 2006 (edited) Testa kods -> http://paste.php.lv/4812 Lieta tāda, ka kaut gan events reģistrēts vienam div ("galvenajam"), nospiežot uz child elementa events izpildīsies, bet event.target/srcElement saturēs referenci nevis parent div, bet uz šo child elementu, uz kura uzspiests. It kā normāls behavior, bet gribētos, lai tā nav. Vai var panākt, ka target/srcElement vienmēr saturēs norādi uz to elementu, kam oriģināli bija "piesaitēts" events ? UPD: Tomēr izdomāju pats vienu workaroundu (bez target/srcElement izmantošanas): function do_something(event, element) { alert(element.getAttribute('id')); } window.onload = function() { var element1 = document.getElementById('element1'); addEvent(element1, 'click', function(event) { do_something(event, element1); }) } Edited December 6, 2006 by andrisp Link to comment Share on other sites More sharing options...
Delfins Posted December 6, 2006 Report Share Posted December 6, 2006 Takš vienā topikā jau es par to runāju... tas ir `bubble` mehānisms.. eventi izpildās pa elementu koku un tu to vari apstādināt. Link to comment Share on other sites More sharing options...
andrisp Posted December 6, 2006 Author Report Share Posted December 6, 2006 (edited) Delfins, vot nevar gan, pamēģināju izslēgt to bubble mehānismu, bet nekā nemainījās. PS. Ja pareizi saprotu, tad bubble mehānisms ir tad, ja tev ir divi onclick gan parent, gan child elementam, un kad tu nospied uz child elementu, tad izpilde notiek pa koku "uz augšu" (vispirms child, tad parent). Bet capture mehānisms ir tad, kad nospiežot uz child elementu, vispirms izpildas parent, un tad child elements, respektīvi, pa koku "uz leju". Mans gadijums ir savādāks. Edited December 6, 2006 by andrisp Link to comment Share on other sites More sharing options...
Recommended Posts