当单击表格内的div时,直到点击气泡到tr后才会触发stoppropagation。如何停止冒出div?
http://jsfiddle.net/tcbnW/决定我的问题
div点击了! →tr点击! →停止触发
我需要
div点击了! →停止触发
下面的HTML代码
<table>
<tr onclick="$('#INFO').append('tr clicked!<BR>');">
<td>
<div onclick="$('#INFO').append('div clicked!<BR>');" style="font-weight:bold;" class="STOP">test div</div>
</td>
</tr>
</table>
<div id="INFO" style="border:1px solid #F00;"></div>
脚本
$(document).on('click','.STOP',function(event){
$('#INFO').append('STOP triggered<BR>');
event.stopPropagation();
});
使用jquery 1.9
答案 0 :(得分:2)
你不应该混合使用“传统”事件处理( onfoo HTML属性)和“现代”事件处理(使用addEventListener等),就像jQuery那样 - 必然会发生意外结果。
答案 1 :(得分:1)
尝试从div中删除onclick事件。基本上你有两个监听器用于同一个事件,一个嵌入在onclick中,第二个是$(document).on
看看这个:[链接] http://jsfiddle.net/tcbnW/1/。这是一个补充
event.stopImmediatePropagation();
我认为这应该有效。