复选框单击覆盖表行单击

Wil*_*rdi 0 html javascript

我在HTML表格中有复选框,我在HTML表格行上设置了onclick事件.

当我单击表格行时,它将在我的脚本上触发一个函数

<table>
    <tr onclick="sayHello('Hello World');">
         <td><input type="checkbox" /></td>
         <td>Column 1</td>
         <td>Column 2</td>
         <td>Column 3</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

问题是当我单击该行内的一个复选框时,它也会触发该行的onclick事件

怎么预防?

Tun*_*yaw 5

您只需添加onclick复选框事件即可调用event.stopPropagation()

<input type="checkbox" onclick="event.stopPropagation();" />
Run Code Online (Sandbox Code Playgroud)

参考:https://developer.mozilla.org/en-US/docs/Web/API/event.stopPropagation

好的阅读之一是 http://javascript.info/tutorial/bubbling-and-capturing