当我将鼠标滑动到另一个元素(链接)时,我需要知道如何阻止我的mouseleave事件发生。如果我没有输入特定元素,如何设置只执行mouseleave动画的条件?
$(activity_link).mouseenter(function() {
$(this).siblings(".delete_place").animate({
"left" : "-28px"
}, 300);
}).mouseleave(function() {
$(this).siblings(".delete_place").animate({
"left" : 0
}, 300);
});
答案 0 :(得分:4)
使用event relatedTarget:
$(activity_link).mouseenter(function () {
$(this).siblings(".delete_place").animate({
"left": "-28px"
}, 300);
}).mouseleave(function (e) {
if (e.relatedTarget != myElem) { //where myElem is a HTML element
$(this).siblings(".delete_place").animate({
"left": 0
}, 300);
}
});
答案 1 :(得分:0)
你可以停止事件并阻止它冒泡/射击:
...
}).mouseleave(function(event) {
if(mycondition) {
$(this).siblings(".delete_place").animate({"left" : 0}, 300);
} else {
event.preventDefault();
}
...