Jump to content
php.lv forumi

events elementam, kam ir child elementi


Recommended Posts

Posted (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 by andrisp
Posted

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.

Posted (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 by andrisp
×
×
  • Create New...