我有一个 jQuery 事件)在页面上的每个 DOM 元素上触发。现在这很好,但我需要一种方法从 DOM 选择中排除一个 div(也有子 div),以防止在它们上触发事件。我已经尝试过 jQuery 的unbind()
,not()
并off()
直接 on $('#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,而是将其排除在选择之外。