[英]stopping propagation to appended elements
更新:
我不明白為什么這個stopPropagation不會阻止冒泡。
$('#content').click(function () {
alert('prop failed');
});
$('#wrapper').on('click', '.button', function (e) {
e.stopPropagation();
alert('test clicked');
});
HTML
<div id="wrapper">
<div id="content">
<div id="test" class="button">Top Button</div>
</div>
</div>
您希望在#content
的事件處理程序中調用.stopPropagation()
,而不是#wrapper
:
var test = '<div id = "test" class = "button">Test</div> ';
$('#content').click(function (e) {
e.stopPropagation();
alert('prop failed');
});
$('#content').append(test);
$('#wrapper').on('click', '.button', function () {
alert('test clicked');
});
問題是兩個事件都與“包裝器”類綁定。 在這個例子中,on關鍵字將以包裝類開始並過濾后代而不是觸發.button的事件 - 因此stopPropagation將不起作用jsfiddle,因為它們都在同一級別。
$('.button').on('click', function (e) {
alert('test clicked');
e.stopPropagation();
});
有關jquery api的更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.