div上的click事件不应该被它的孩子触发

时间:2009-09-07 15:18:26

标签: javascript jquery

假设我有以下代码:

<div id="parent">
    <div id="child"></div>
</div>

现在我将onClick事件附加到父div:

$('#parent').click(function() { ... });

当我点击子div时,是否有一种简单的方法可以阻止事件触发?我不想做像

这样的事情
$('#child').click(function() { return false; });

因为子div可以包含链接......

谢谢!

2 个答案:

答案 0 :(得分:8)

检查event target

以下代码未经测试。

var div = document.getElementById('parent');
jQuery(div).click(function(event) {
  if (event.target !== div) {
    return false;
  }
});

答案 1 :(得分:2)

stopPropagation

$('#child').click(function(event) { 
       event.stopPropagation();
       //...
});