我有一个jQuery事件)正在页面上的每个DOM元素上触发。目前还可以,但是我需要一种方法来从DOM选择中排除div(以及子div),以防止触发事件。我已经尝试过jQuery的unbind()
,not()
并且off()
直接在上尝试过$('#myDiv')
,但事件仍在触发。
触发事件的代码:
$("*").each(function () {
// here are events bound to every DOM in the page
$(this).mouseover(mouseover).mouseout(mouseout).click(click);
});
我也尝试过
$("*:not(#myDiv)").each(function () {
// events
$(this).mouseover(mouseover).mouseout(mouseout).click(click);
});
并且仍然无法从#myDiv中删除事件。
HTML:
<div id="myDiv">
<div class="data">
<!-- -->
</div>
<div class="debug">
<!-- -->
</div>
<div class="form">
<!-- -->
</div>
</div>
进行完整的DOM选择但不包括#myDiv的最佳方法是什么,那么我将能够使用它bind()
或将其on()
用于绑定事件?
注意:我不想从DOM树中删除#myDiv,而是将其从选择中排除。
你可以试试这个
$(function(){
$('body > *').not('#myDiv')
.on('mouseover', function(){ //... })
.on('click', function(){ //... });
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句