我想要一种方法来选择页面上的所有元素,除了那些具有指定DOM位置的元素。以下是我想要做的事情的示例:
jQuery('*').except('.ignore').bind('click', function(e) { ... });
这是否可以通过 "本地jQuery" 的方式实现?
jQuery('*').except('.ignore').bind('click', function(e) { ... });
这是否可以通过 "本地jQuery" 的方式实现?
:not()
选择器:jQuery(":not(.ignore)").bind("click", function(e) { ... });
另一方面,同时对页面上每个元素执行某些操作是不好的。有一个更好的方法。我建议绑定到body,然后忽略一些元素的点击:
$(document.body).click(function(e){
if($target.closest('.ignore').length) return true;
...
});
或者使用jQuery 1.3的.live()
,它可以为您完成以下操作:
$(":not(.ignore)").live(function(e){
...
});