2011-04-28 63 views
2

我想要一個函數,當你把鼠標懸停在某個東西上(和非懸停)。不過,我也希望可以讓沒有懸停的ipad(等)用戶訪問它。所以我希望點擊後備可能。我如何實現這一目標?請注意,如果懸停正在運行,我不希望人們點擊它。這是我到目前爲止,這是非常接近:jQuery click fallback sans hover ipad

var collapsed=1, noHover=false; 
$('#deeper').hover(function() {deeper();}); 
$('#deeper').click(function() {if (collapsed || noHover) { 
    deeper(); 
    noHover=true; 
}}); 
function deeper() { 
    if (collapsed == 1) { 
    collapsed = 0; 
    $(this).children().show(); 
    } else { 
    collapsed = 1; 
    $(this).children().hide(); 
    } 
} 

然而,這種失敗 - 如果在頁面加載你的鼠標懸停在#deeper,你移動鼠標點擊之前(鼠標移動似乎被停止發射),noHover成爲現實,使點擊成爲可能,以及盤旋。

還有更好的辦法嗎?謝謝!

+0

謝謝你。我實際上通過添加更多的.hover事件來解決我自己的問題: \t $('#deeper')。hover(function(){noHover = false; vbg = 1; deeperEd();},function(){noHover = false; vbg = 0; deeperEd();}); – thugsb 2011-04-28 19:44:53

回答

2

你可能想尋找到jQuery的Touchable/Hoverable plugin,統一了觸摸和鼠標事件(可觸摸)和懸停在像臺式機和觸摸屏與移動設備的不同平臺的事件(hoverable)。