2012-12-07 47 views
0

我有2个元素一个父元素及其子元素,并且都是绝对定位的。避免在绝对定位元素下面点击事件

我有一个单击处理程序的每个元素,虽然当我点击子元素后面的父元素也捕获点击。

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

+0

你可以用你的代码添加一个JS小提琴吗? – CharliePrynn

回答

3

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

另请注意,在IE或Opera中这是NOT SUPPORTED。 (或者至少,不是HTML元素,只是SVG)

jQuery的选择是e.StopPropagation,更多信息可以发现here

0

您可以使用jQuery和简单有一个preventDefaultreturn false父元素:

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

$('#child').click(function() { 
    //do something 
}); 
+0

这并不妨碍父母收到点击事件,只是在发生此类事件时不做任何事情。所以如果OP需要做一些事情来点击不直接在孩子身上的父母,这将无济于事。 – nnnnnn

+0

您可以停止传播https://api.jquery.com/event.stoppropagation/ – Pitchinnate

相关问题