所以有很多问题询问如何防止子事件触发父事件,但我似乎找不到相反的问题。
我像这样打开和关闭父事件:
var body_event = function(e){
console.log('test');
};
$('#btn').toggle(
function(e){
$('body').bind('click', body_event);
},
function(){
$('body').unbind('click', body_event);
}
);
目前,如果我在这样的页面上运行它:
<body>
<div id="btn">click to activate</div>
<div id="example" onclick="alert('do not show this when event is bound')">
try the body event by clicking here
</div>
</body>
切换工作正常,但是当我单击“单击此处尝试正文事件”时,警报仍会显示。我希望能够在绑定主体事件而不单独引用子事件时忽略所有子事件。
换句话说,我正在寻找一个比在切换时做这样的事情更好的解决方案:
$('#example").attr('onclick', '');