4

我有 2 个元素,一个父元素及其子元素,并且两者都是绝对定位的。

我为每个元素都有一个单击处理程序,尽管当我单击子元素时,它后面的父元素也会捕获单击。

如何防止父元素接收到点击事件?

4

2 回答 2

6

如果你想要一个纯 CSS 解决方案,你可以使用pointer-events: none;. 这将确保您的鼠标永远忽略父元素,因此请小心使用它。

另请注意,IE 或 Opera不支持此功能。(或者至少,不是 HTML 元素,只是 SVG)

jQuery 替代方案是 e.StopPropagation,更多信息可以在这里找到

于 2012-12-07T15:46:03.610 回答
0

您可以使用 JQuery 并在父元素上简单地使用preventDefaultor :return false

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

$('#child').click(function() {
    //do something
});
于 2012-12-07T15:48:05.327 回答