【发布时间】:2017-05-29 10:59:25
【问题描述】:
我在 JS 中的 mouseover 和 mouseout 事件中有这两个。它们用于检查我是否将鼠标悬停在页面上的面板上。但问题是,当我将鼠标悬停在面板上时它会触发(很好),但是当我将鼠标悬停在该面板内的另一个元素上时,它会触发 mouseout 事件,然后当我移动到面板内的另一个部分时再次触发 mouseover 事件。
我只希望 mouseover 和 mouseout 事件触发一次!一次用于进入面板,另一次用于离开面板。有没有办法将鼠标悬停调用传播到 div.panel 中的所有子元素。看来这会纠正它。
这是我的活动
$(document).off("mouseover").on("mouseover", "div.panel", function() {
var panelSpaceId = $(this).attr("data-spaceId");
var marker = _.find(scope.markers, function(item) {
return item.spaceId == panelSpaceId
})
google.maps.event.trigger(marker, "mouseover");
console.log("over" + marker.spaceId);
});
$(document).off("mouseout").on("mouseout", "div.panel", function() {
var panelSpaceId = $(this).attr("data-spaceId");
var marker = _.find(scope.markers, function(item) {
return item.spaceId == panelSpaceId
})
google.maps.event.trigger(marker, "mouseout");
console.log("out" + marker.spaceId);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
【问题讨论】:
标签: javascript jquery