我有一个div
withonClick
事件,但由于重叠,它没有检测到鼠标div
。我不能把它放在第一个下面,所以改变z-index
它不是一种选择。
有没有办法在没有指针事件的情况下禁用 2 nd div
的鼠标事件?我需要这个是跨浏览器的。
要求的样品。现在所有事件都会触发警报:
<div class="buttonDiv" onClick="buttonAction()"></div>
<div class="filterDiv"></div>
我有一个div
withonClick
事件,但由于重叠,它没有检测到鼠标div
。我不能把它放在第一个下面,所以改变z-index
它不是一种选择。
有没有办法在没有指针事件的情况下禁用 2 nd div
的鼠标事件?我需要这个是跨浏览器的。
要求的样品。现在所有事件都会触发警报:
<div class="buttonDiv" onClick="buttonAction()"></div>
<div class="filterDiv"></div>
你可以试试这个:
HTML
<div class="buttonDiv" onClick="buttonAction(event)">
OUTER
<div class="filterDiv">INNER</div>
</div>
Javascript
var buttonAction = function(e) {
if(e.target.className == "buttonDiv") {
//code here
alert('got here');
}
}
示例:http: //jsfiddle.net/aFRcd/1/
基本上在点击时,您发送点击event
,然后您可以查看实际点击了哪个 divevent.target
您会注意到在示例中单击 OUTER 会触发警报,而 INNER 不会。
我能找到的唯一解决方案是将鼠标移动事件附加到画布并将按钮的坐标与按钮的位置和尺寸进行比较。这是一种痛苦,但至少它完成了工作