Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 嵌套HTML元素中的冲突事件_Javascript_Jquery_Html - Fatal编程技术网

Javascript 嵌套HTML元素中的冲突事件

Javascript 嵌套HTML元素中的冲突事件,javascript,jquery,html,Javascript,Jquery,Html,我有嵌套的事件侦听器。确实如此 <tr onclick="function1();"> <td>....</td> <td onclick="function2();">....</td> </tr> .... .... 单击第二个单元格时,只应调用function2(),而不应调用function1()。有什么方法可以做到这一点吗?在函数中传递事件对象并调用stopPropagation来停止事件传播 <tr

我有嵌套的事件侦听器。确实如此

<tr onclick="function1();">
<td>....</td>
<td onclick="function2();">....</td>
</tr>

....
....

单击第二个单元格时,只应调用function2(),而不应调用function1()。有什么方法可以做到这一点吗?

在函数中传递事件对象并调用stopPropagation来停止事件传播

<tr onclick="return function1(e);">
  <td>First Td....</td>
 <td onclick="return function2();">second td....</td>
</tr>

function function2(e)
{
  //your statements.
   alert("function2");
   e.stopPropagation();
}

第一个Td。。。。
第二个td。。。。
职能2(e)
{
//你的陈述。
警报(“功能2”);
e、 停止传播();
}

可以使用


有关更多讨论,请参见此处的答案:

如果您在td上使用函数,我认为tr没有任何用处,因为tr被一个或多个表数据(tds)分开了太好了!这起作用了。我已经试过返回false。我不能让它工作。谢谢有人知道为什么
return false
在这种情况下不起作用吗?@Adil-Yes,添加event.stopPropagation解决了问题。我也不明白为什么returnfalse不起作用。这对jquery是有效的,我经常使用它。jquery提供了带有return的自定义功能。
function(e) {
   var event = e || window.event;
   event.stopPropagation();
}