具有:
<div id="outerDiv">
<div id="innerDiv" style="margin: 10px">Content goes here</div>
</div>
我想确定发生在innerDiv外部但在externalDiv内部的鼠标事件(换句话说,这些事件在innerDiv边距上)。
如果我向外部添加填充或边框,这很容易实现,但是我想知道是否还有另一种方法,而不必向outerDiv添加额外的像素。
谢谢
最佳答案
使用jQuery,我将执行以下操作
$("#outerDiv").bind("event", function(e) {
if ($(e.target).closest("#innerDiv")) {
alert("from inner div");
}
else {
alert("from outer div only");
}
});
说明:
#outerDiv
将获得冒泡事件。如果事件的目标或目标的祖先是#innerDiv
,那么我们知道它起源于内部div。否则就没有。由于它命中#outerDiv
,所以我们知道它发生在#outerDiv
的某处,而不是#innerDiv