如何处理<tr>上的点击但不处理子元素上的点击?

yar*_*kus 4 html javascript jquery click tablerow

我使用以下代码处理点击.

表与输入

<table>
    <tr>
        <td>
            <input type="checkbox" />
        </td>
    </tr>
</table>?
Run Code Online (Sandbox Code Playgroud)

单击处理程序

$('table tr').click(function(){
    alert('clicked');
});?
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/n96eW/

它运行良好,但如果我在td中有一个复选框,它在点击时也会处理它.

有没有办法处理TR的点击但不触发子元素?

And*_*ong 15

http://jsfiddle.net/n96eW/1/

在复选框中添加另一个事件处理程序以stopPropagation:

$('table tr').click(function(){
    alert('clicked');
});

$('table tr input').click(function(e) {
    e.stopPropagation();
});
?
Run Code Online (Sandbox Code Playgroud)

  • @YaroslavGlukhov http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work如果您不知道:) (2认同)