Javascript 避免父项的onclick

Javascript 避免父项的onclick,javascript,Javascript,对于以下示例,是否有一种方法: <tr id="x" onclick="do_something()"> <td>Lorem ipsum</td> <td>Lorem ipsum</td> <td>Lorem ipsum</td> <td> <a href="javascript:;" onclick="do_something_else()">

对于以下示例,是否有一种方法:

<tr id="x" onclick="do_something()">
    <td>Lorem ipsum</td>
    <td>Lorem ipsum</td>
    <td>Lorem ipsum</td>
    <td>
       <a href="javascript:;" onclick="do_something_else()">CANCEL</a>
    </td>
</tr>

乱数假文
乱数假文
乱数假文
单击“取消”链接时,不要同时执行do_something()和do_something_else()

我只需要执行do_其他事情()

谢谢您

有两个选项供您选择:

  • 最小变化

  • 现代方式

最小变化 在
onXYZ
属性中,您的代码有效地位于具有
事件
变量的函数中(直接在大多数浏览器上,在旧IE上是全局变量),因此如果您将其传递到函数中,您可以对其调用
stopPropagation
(如果它具有该函数),或者如果没有(旧IE),则使用
cancelBubble

函数do_something(){
log(“do_某事被称为”);
}
函数do\u something\u other(事件){
log(“do_something_else called”);
if(事件停止播放){
event.stopPropagation();
}否则{
event.cancelBubble=true;
}
}

乱数假文
乱数假文
乱数假文

您必须阻止事件冒泡。使用stopPropagation在内部执行其他操作。你能告诉我怎么做吗?请检查答案。