由于我是jQuery的新手,我想在我的脚本中使用event.stopPropagation()。
我以下列方式使用它:
this.$el.find(".activity_row").on("click", this.on_row_click, function (event){
event.stopPropagation()
});
我在“ activity_row ”下点击了另一个点击事件。因为我想知道event.stopPropagation(),但它不起作用!
请指导我如何使用它。
提前致谢
答案 0 :(得分:1)
尝试:
this.$el.find(".activity_row").on("click", this.on_row_click, function (event){
if (event.preventDefault)
event.preventDefault();
if (event.stopPropagation)
event.stopPropagation();
});
答案 1 :(得分:1)
我写了demo JsFiddel for your question here
$('.btn1').click(function(event){
event.stopPropagation();
alert('It is first btn');
});
$('.btn1').click(function(){
alert('It is first btn');
});
$('.btn2').click(function(){
alert('It is second btn');
});
$('.btn-container').click(function(){
alert('It is btn container');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="btn-container">
<button class="btn1">Button</button>
<button class="btn2">Button</button>
</div>
&#13;
在上面的代码中,您可以发现函数event.stopPropagation()
只是阻止事件传播到外部DOM,因此当您点击btn1
时,.btn-container
中的事件赢了&#39}。被触发。
但是对于.btn1
,如果您修改了上面代码中的两个事件处理程序,当您单击.btn1
时,其中的所有事件处理程序都将被触发。