我不确定这是jquery函数的限制还是我的代码上的错误,但我可以看到http://api.jquery.com/hover/上的示例发生了相同的行为
我的实现是我有一个弹出框,显示鼠标悬停在产品项目上的时间,以及鼠标悬停时隐藏的信息。
问题是当鼠标悬停并且弹出框显示时,如果我用鼠标滚轮/触控板向下/向上滚动页面,而鼠标光标由于滚动而不再出现在产品项目上,则悬停未检测到-out行为,并且弹出框保持在视线中,因为其位置是在悬停事件期间确定的,相对于产品在屏幕上的位置,保持在屏幕中间。
这有意义吗?有人可以帮忙吗?
答案 0 :(得分:1)
这是一个有点干扰的解决方案,但它应该有效:
// The normal hover handler
$("#productElement").hover(function(){
$("#otherElement").show();
},function(){
$("#otherElement").hide();
});
// A global scroll handler that hides an specific
// element whenever the user scrolls.
$(document).scroll(function(){
$("#otherElement").hide();
});
在上面的代码中,#productElement
将是用户悬停的标签,而#otherElement
将是悬停时弹出的对话框。这只是它如何运作的基础;你会根据你的代码进行调整。