我正在寻找一种方法:
$('*:not(#specific)').on('click',function(e){
//execute code
});
//or :
$('*').not('#specific').on('click',function(e){
//execute code
});

对DOM的每个元素应用操作,但不对我的特定div和子元素应用。
但这些似乎都不起作用。
基本上,我尝试建立一个像firebug这样的系统,可以将轮廓应用到over元素的最后一个子元素(这部分没问题)。但是在元素上保持轮廓选择并打开一个对话框。但是,当我们单击DOM元素时出现的对话框也是此DOM的一部分,它会生成无限循环的事件。我无法正确使用我的对话框。
非常感谢
答案 0 :(得分:1)
请改为尝试:
$('body *').not('#specific, #specific *').on('click',function(e){
//execute code
});
这将忽略#specific
及其任何子女。
答案 1 :(得分:0)
您编写的第二个代码完全有效。您可以参考this回答。
它基本上是:not()选择器:
$('*').not('#specific').on('click',function(e){
//execute code
});
答案 2 :(得分:0)
谢谢你们,
$('body *').not('#specific, #specific *').on('click',function(e){
//execute code
});

完美无缺。
如果我必须在#specific上绑定一个点击,我必须在前面的代码中插入...
$('body #specific').on('click',function(e){
//execute code...
});

这是对的吗?