表格中的div停止传播不起作用

时间:2013-03-22 16:01:31

标签: stoppropagation

当单击表格内的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

2 个答案:

答案 0 :(得分:2)

你不应该混合使用“传统”事件处理( onfoo HTML属性)和“现代”事件处理(使用addEventListener等),就像jQuery那样 - 必然会发生意外结果。

答案 1 :(得分:1)

尝试从div中删除onclick事件。基本上你有两个监听器用于同一个事件,一个嵌入在onclick中,第二个是$(document).on

看看这个:[链接] http://jsfiddle.net/tcbnW/1/。这是一个补充

event.stopImmediatePropagation();

我认为这应该有效。