Javascript 在IE中表现怪异的Hover
请查看以下HTML代码:Javascript 在IE中表现怪异的Hover,javascript,jquery,Javascript,Jquery,请查看以下HTML代码: <div class="overlay"> <a href="#">1</a> <a href="#">1</a> <a href="#">1</a> <a href="#">1</a> <a href="#">1</a> </div> 问题是在IE中,悬停在任何子元素上也会触发mous
<div class="overlay">
<a href="#">1</a>
<a href="#">1</a>
<a href="#">1</a>
<a href="#">1</a>
<a href="#">1</a>
</div>
问题是在IE中,悬停在任何子元素上也会触发mouseenter/mouseleave。如何防止这种情况发生?尝试使用以下方法停止事件传播:
描述:防止事件发生 在DOM树中冒泡,防止 任何父处理程序都不会被删除 通知了这件事
$('div.overlay').hover(function(event){
if (this == event.target){clearTimeout(thumbsAway);}
},
function(event){
if (this == event.target){clearTimeout(thumbsAway);}
}
);
你可以用
或者检查事件的目标
$('div.overlay').hover(function(event){
if (this == event.target){clearTimeout(thumbsAway);}
},
function(event){
if (this == event.target){clearTimeout(thumbsAway);}
}
);
$('div.overlay').hover(function(event){
event.stopPropagation();
clearTimeout(thumbsAway);
},
function(event){
event.stopPropagation();
clearTimeout(thumbsAway);
}
);
$('div.overlay').hover(function(event){
if (this == event.target){clearTimeout(thumbsAway);}
},
function(event){
if (this == event.target){clearTimeout(thumbsAway);}
}
);