2011-10-21 94 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

相關問題