Javascript JQuery鼠标事件:如果元素移动,如何触发回调?
我有以下资料来源:Javascript JQuery鼠标事件:如果元素移动,如何触发回调?,javascript,jquery,html,css,mouseevent,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") }); 当光标悬停在classtile-2的元素上时,会显示一个隐藏的div。因此,当
$("body").on('mouseenter', '.tile-2', function () {
$(".tile-explanation-embarklogo").fadeIn(400)
}).on('mouseleave', '.tile-2', function () {
$(".tile-explanation-embarklogo").fadeOut("200")
});
当光标悬停在classtile-2
的元素上时,会显示一个隐藏的div。因此,当光标悬停在元素上时,我会再次隐藏div
问题是,tile-2
元素有时会自行移动,甚至消失(用户输入可以移动tile-2
元素)。这是有问题的,因为光标从未离开元素本身,我无法隐藏div。它永远停留,无法删除它
我怎样才能打电话给:
$(.tile徽标”).fadeOut(“200”)
当互动程序本身从光标移开时?我不确定为什么要将侦听器放在body标签上,但请尝试以下方法:
$('.tile-2').on('mouseenter', function()
{
$('.tile-explanation-embarklogo').fadeIn(400);
});
$('.tile-2').on('mouseleave', function()
{
$('.tile-explanation-embarklogo').fadeOut(200);
});
您也可以尝试悬停事件,让jquery为您完成以下工作:
$('.tile-2').hover(function () {
$(".tile-explanation-embarklogo").fadeIn(400)
}, function () {
$(".tile-explanation-embarklogo").fadeOut("200")
});
代替mouseleave,您可以监听mouseenter for body并检查鼠标输入的元素是否是您的标题。如果不是的话,会不会淡出