JQuery鼠标事件:如果元素移动,如何触发回调?

时间:2014-03-30 02:45:12

标签: javascript jquery html css mouseevent

我有以下来源:

$("body").on('mouseenter', '.tile-2', function () {
  $(".tile-explanation-embarklogo").fadeIn(400)
}).on('mouseleave', '.tile-2', function () {
  $(".tile-explanation-embarklogo").fadeOut("200")
});

当光标悬停在具有类tile-2的元素上时,会显示隐藏的div。因此,当光标悬停在元素上时,我再次隐藏div。

问题在于有时候tile-2元素会自行移动甚至消失(用户输入可以移动tile-2元素)。这是有问题的,因为光标永远不会从元素本身悬停,我无法隐藏div。它永远存在,无法移除它。

我怎样才能打电话:

$(".tile-explanation-embarklogo").fadeOut("200")

当磁贴本身离开光标时?

2 个答案:

答案 0 :(得分:1)

我不确定为什么你的身体标签上有你的听众,但试试这个:

$('.tile-2').on('mouseenter', function() 
{
    $('.tile-explanation-embarklogo').fadeIn(400);
});

$('.tile-2').on('mouseleave', function() 
{
    $('.tile-explanation-embarklogo').fadeOut(200);
});

答案 1 :(得分:0)

您也可以尝试悬停事件,让jquery为您完成工作:

$('.tile-2').hover(function () {
    $(".tile-explanation-embarklogo").fadeIn(400)
}, function () {
    $(".tile-explanation-embarklogo").fadeOut("200")
});