2011-10-21 69 views
2

我不确定这是jquery函数的限制还是我的代码中的一个错误,但是我可以看到在示例中发生的相同行为http://api.jquery.com/hover/当鼠标滚轮移动光标时,jquery hover保持悬停状态

我的实现是,我有一个弹出框显示鼠标悬停在产品项目上,当鼠标悬停时隐藏。

问题是当鼠标悬停并弹出框显示,如果使用鼠标滚轮/触控板向下/向上滚动页面,而由于滚动鼠标光标不再位于产品项目上,则没有检测到悬停行为,并且弹出框保持在视线中,因为其相对于屏幕上产品的位置在悬停事件期间确定其位置,所以保持在屏幕中间。

这是否有意义?谁能帮忙?

+0

我认为这更多的是JavaScript限制,我确定我在StackOverflow的某个地方见过它。 – JCOC611

+0

这可能是浏览器问题吗?我现在在FF 7试了这个,但我无法复制这个问题。你使用的是什么浏览器? – mydoghasworms

+0

@mydoghasworms:我可以在Chrome 14 – JCOC611

回答

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将是悬停弹出的对话框。这只是它如何工作的基础知识;你会适应你的代码。

+0

感谢反馈家伙,至少现在我知道这是对webkit浏览器的js限制。 – Winterain

+0

@Winterain:您的欢迎!一些浏览器相关的错误可能真的很痛苦! – JCOC611

+0

此解决方案有效。 :) – Winterain

相关问题