javascript嵌套onclick

时间:2013-03-24 22:11:12

标签: javascript html

我有这段代码:

<td onclick="Test()">
  <img src="test.jpg" onclick="Test2(); return false;"><br>
  Rest of the cell with some text.
</td>

当我单击图像时,T​​est()也会被触发,因为我也点击了表格单元格。如何证明这一点?如果我单击图像,我想要test2()触发,如果我单击表格单元格中的其他位置,则应该触发test()。

编辑:即使返回false,仍然会触发Test()(在Chrome中测试)!

3 个答案:

答案 0 :(得分:6)

如果Test2()返回false,则点击不会冒泡到Test()

答案 1 :(得分:3)

简短回答:

<img src="test.jpg" onclick="Test2(); return false;">

答案很长:

活动顺序 - http://www.quirksmode.org/js/events_order.html

答案 2 :(得分:1)

我喜欢的方式是使用eventListeners和event.stopPropagation(),因为我读过一些浏览器不接受return false,它也是not a very well defined action。和Adam said一样,阅读事件传播是值得的。

<div id="clickme"></div>

<script>
document.getElementById("clickMe").addEventListener("click", function(event) {
  event.stopPropagation();
  //event.preventDefault();  this is the same as return false;
});
</script>