2011-09-09 55 views
-1

我一直在質疑:hover子句在敲擊元素時,它們似乎總是延遲,例如,一個紅色背景的元素:hover,但是它需要大約一秒來更改背景。爲什麼要做:懸停延遲?

另一件事,爲什麼這使得我想知道,移動網站如Facebook m.facebook.com,當點擊元素時,他們似乎在背景變化(比如點擊通知)時立即響應。

使用:hover時如何使此效果相同?

好吧...由於沒有人得到我的意思。一個典型的頁面。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<meta name="viewport" content="width = device-width; initial-scale = 1.0; maximum-scale = 1.0; minimum-scale = 1.0; user-scalable = 0;" /> 
<style type="text/css"> 

.row { 
    padding: 20px; 
} 

.row a:hover .row { 
    background-color: red; 
} 

</style> 
<title>Test</title> 
</head> 
<body> 

<div class="row"> 
    <a href="#">Typical link</a> 
</div> 
<div class="row"> 
    <a href="#">Typical link</a> 
</div> 
<div class="row"> 
    <a href="#">Typical link</a> 
</div> 

</body> 
</html> 

如果你認爲這在iPhone上的鏈接時敲擊的.row背景只需一秒鐘改變背景爲紅色。

我在iOS 4.3.3上使用iPhone 3GS - 肯定不會影響任何東西,因爲它自iOS 3.x以來就一直如此。

+0

它不適合我。請至少顯示您的代碼。您的瀏覽器及其版本。由於缺乏額外信息而投票。 –

+0

如果你盯着它,一個大的紅色面板會顯示更長的顏色。您的眼睛很難立即注意到像紅色這種暖色調的顏色變化。 –

+0

更新了我的文章。 @Justin Satyr - 這是我見過的最有趣的評論,直到你點擊鏈接後纔會出現。 – MacMac

回答

1

在觸摸屏設備上,事件有點不同 - 沒有光標,懸停是毫無意義的。

如果默認行爲沒有提供您想要的響應,則需要使用javascript來添加基於觸摸事件的懸停/選定類。在iOS上,touchend事件在點擊事件之前觸發幾百毫秒,並且類似的情況可能適用於懸停行爲。

+0

+1爲touchend事件。 – MacMac

+0

您可以查看[FastClick](http://assanka.net/content/tech/2011/08/26/fastclick-native-like-tapping-for-touch-apps/)代碼,瞭解我們如何解決此問題點擊事件的問題。 –