2013-01-12 134 views
2

我有一個「關注」按鈕,當點擊時,更改一個類,可見文本是「關注」。懸停時,此更改爲「取消關注」。如何禁用移動設備上按鈕的懸停狀態?

工作得很好。在手機(手機)上,點擊它似乎將其鎖定在「懸停」狀態。因此,它完全繞過「關注」並顯示「取消關注」。如果我點擊屏幕上的其他地方,它會自行修復。

有什麼辦法可以自動實現這種情況嗎? $('body').click()對我沒有幫助...

+0

也可能是a:主動類或a:選中 – Zombiesplat

回答

0

你可以在jquery中使用touchstart/touchend事件。如果只使用CSS,我不知道解決方案,但除了懸停事件之外,還可以將常規函數綁定到touchstart/touchend事件,或者執行下面的操作。

$('.button').bind('touchstart',function(){ 
    $(this).addClass('hoverClass'); 
}); 
$('.button').bind('touchend',function(){ 
    $(this).removeClass('hoverClass'); 
}); 

這只是讓你的「hoverClass」更改按鈕,因爲你需要通過CSS。我希望這很清楚。基本上,touchstart/touchend類似於懸停,但據我所知只能通過CSS訪問。

+0

是的,這不起作用,因爲我沒有「懸停類」 - 它只是基於:懸停的樣式。點擊按鈕會導致在移動設備上懸停... – Kaitlyn2004

+0

我所說的是在你的CSS樣式表中,添加一個名爲hoverClass的類聲明或任何你想要的,並使該類匹配a:hover聲明。然後,touchstart/touchend將與您的CSS在桌面上懸停的情況相匹配。 – Leeish

+0

這個問題的答案(http://stackoverflow.com/questions/2290829/how-to-force-a-hover-state-with-jquery)正是你要找的。 – Leeish