因此,有很多問題詢問如何防止觸發父母事件的兒童事件,但我似乎無法找到相反的結果。防止父母事件觸發兒童事件
我切換父事件和關閉,像這樣:
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', '');
你必須扭轉你的想法。如果父母有事件,那麼不要爲孩子開火。 StopPropagation僅適用於相反的情況。 – mrtsherman
humm ...這是真的,謝謝! –
是的,請務必記住在父事件之前觸發子事件。 –