以下是它应该如何工作=> Normal behavior
1)在创建最新的likers框并且仍然打开之后,不应该触发事件(mouseenter)。 2)我在最新的喜欢的盒子上有一个事件(mouseleave)(不喜欢自己)。
但当我悬停(第一次进入mouseenter)时,事件发生的次数很多次,并且每次重新创建最新的likers框(不应该发生)。 => Actual problem
$('.statuses_mbody').on('mouseenter',
'.status_likes, .reply_likes',function (e) {
//capture the main data(not displayed for simplicity).
//send ajax request.
//here is code that checks the state of the box(closed,opened)
//get data back from server and display them.
});
我已经在互联网上看到并尝试过很多代码,但我仍然无法找到解决方案。
答案 0 :(得分:1)
您需要检查事件是否已在进行中,我可能会这样做:
$('.statuses_mbody').each(function() {
$(this).one('mouseenter', '.status_likes, .reply_likes',function (e) {
if ($(this).data('in-progress')) { return }
$(this).data('in-progress', true)
$.ajax(/* whatever */)
.done(function() { /*whatever*/ })
.always(function() {
$(this).data('in-progress', false);
});
});
答案 1 :(得分:1)
每次输入与此活动相关联的元素时,<script src="https://maps.googleapis.com/maps/api/js"></script>
<div style="text-align:center;">
<div id="log"></div>
</div>
<div id="map_canvas" style="width: 100%; height: 90%;"></div>
事件都会触发!
以下是对该事件的描述:
绑定要在鼠标进入元素时触发的事件处理程序,或触发元素上的处理程序。
也许你想要mouseenter
事件?