我正在尝试将单击事件绑定到页面上的所有元素,但具有 id 的元素内的元素除外
$('body :not(#dialog-form *)').off('click').on('click', function (e)
{
//code
});
上面提到的代码将点击事件绑定到'dialog-form'中的那些元素。
我正在尝试将单击事件绑定到页面上的所有元素,但具有 id 的元素内的元素除外
$('body :not(#dialog-form *)').off('click').on('click', function (e)
{
//code
});
上面提到的代码将点击事件绑定到'dialog-form'中的那些元素。
您的代码正在运行,但您误解了会发生什么。您会看到,除了某些元素之外,您绑定了对所有内容的单击,但#dialog-form *
在body
其中意味着即使#dialog-form *
没有事件,单击它也会触发单击body
(其中包含事件)。您需要防止冒泡:
$('body').off('click').on('click', function (e){
//code
});
$('#dialog-form').on('click', function(e){
e.stopPropagation();
})
小提琴:http: //jsfiddle.net/d4gLd/