jquery: ignore mouse events on child elements
Moe BE
20/10/2010 12:17:19Hallo,
Ik zit met volgende structuur:
Momenteel is mijn ouder element draggable() en moet deze bij verplaatsing automatisch een update doen in mijn database. Deze automatische update gebeurd bij een mouseup() event doormiddel van ajax(). Dit werkt Prima! Alleen, nu kan ik in IE niet meer klikken op de link in het kind element, omdat hij steeds bij mouseup() een ajax update doet.
Bestaat er een mogelijkheid om bij het event op het kind element te negeren?
Dingen die ik al geprobeerd heb. Kan wel zijn dat ik ze fout gebruik. Hieronder voorbeeldjes van hoe ik ze gebruikt heb.
Ik zit met volgende structuur:
Momenteel is mijn ouder element draggable() en moet deze bij verplaatsing automatisch een update doen in mijn database. Deze automatische update gebeurd bij een mouseup() event doormiddel van ajax(). Dit werkt Prima! Alleen, nu kan ik in IE niet meer klikken op de link in het kind element, omdat hij steeds bij mouseup() een ajax update doet.
Bestaat er een mogelijkheid om bij het event op het kind element te negeren?
Dingen die ik al geprobeerd heb. Kan wel zijn dat ik ze fout gebruik. Hieronder voorbeeldjes van hoe ik ze gebruikt heb.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<!-- Werken met not selector -->
$("#ouder :not(#kind)").mouseup(function(){});
<!-- Werken met stopPropagation ->>
$("#ouder").mouseup(function(event){
event.stopPropagation();
});
$("#ouder :not(#kind)").mouseup(function(){});
<!-- Werken met stopPropagation ->>
$("#ouder").mouseup(function(event){
event.stopPropagation();
});
Gewijzigd op 20/10/2010 12:18:33 door Moe BE
PHP hulp
21/12/2024 16:40:53Kumkwat Trender
20/10/2010 13:00:17Ik weet niet wat je aan het doen bent maar je pakt je probleem verkeerd aan..
Wat jij wilt gaan nou eenmaal niet werken..
wat je eventueel als een oplossing kan gebruiken is zoiets:
Mogen we misschien iets meer van je code zien?
Wat jij wilt gaan nou eenmaal niet werken..
wat je eventueel als een oplossing kan gebruiken is zoiets:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<div id="bigDaddy">
<div id="ouder"> </div>
<div id="kind">
<p><a href="link">Link</a></p>
</div>
</div>
<div id="ouder"> </div>
<div id="kind">
<p><a href="link">Link</a></p>
</div>
</div>
Mogen we misschien iets meer van je code zien?
Hipska BE
20/10/2010 13:04:43Je doet nu bij de ouder stop propagation, maar het probleem is dat propagation naar boven toe gaat . Dus logischerwijs bij onclick van kind stop propagation doen zodat die ajax call niet uitgevoerd wordt.
Moe BE
20/10/2010 16:29:53@kumkwat: Toegepast en het werkt.
voorbeeld code + uitleg was meer dan genoeg om mijn probleem te omschrijven.
voorbeeld code + uitleg was meer dan genoeg om mijn probleem te omschrijven.