我有 div ,在其中我有一个 p 。段落在div上方。我的事件处理程序受到段落的影响。
这是我的事件处理程序:
$("#container-map").on("mouseover mouseleave", ".ct-symbol", function() {
$(this).toggleClass("active-b");
});
所以,当我在div上移动鼠标时,如果我越过段落,它将切换类。我想要的是只有在我进入/离开div时切换课程。我也试过用这个:
$("#container-map").on("mouseover mouseleave", ".ct-symbol", ".ct-symbol p" function() {
$(this).toggleClass("active-b");
});
但是现在,当我将鼠标移到段落上方时,它会翻转两次......
答案 0 :(得分:1)
$("#container-map").on("mouseenter mouseleave", ".ct-symbol", function() {
if (this.id == "container-map")
{
$(this).toggleClass("active-b");
}
});
那应该有用。它仅在this
具有与div相同的ID时触发。
答案 1 :(得分:0)
您必须使用mouseenter
而不是mouseover
$("#container-map").on("mouseenter mouseleave", ".ct-symbol" function() {
$(this).toggleClass("active-b");
});
答案 2 :(得分:0)
如果你想要的是你的 active-b 课程只在离开/进入时受到影响。
您需要使用 mouseenter 而不是鼠标悬停。
$("#container-map").on("mouseenter mouseleave", ".ct-symbol", function() {
$(this).toggleClass("active-b");
});