Jump to content
php.lv forumi

events elementam, kam ir child elementi


andrisp

Recommended Posts

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 by andrisp
Link to comment
Share on other sites

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 by andrisp
Link to comment
Share on other sites

×
×
  • Create New...