2012-03-09 46 views
15

首先,請原諒我,這不是一個編程問題,但我認爲它不適合Theoretical CS,而CS Non Programming仍然處於私人測試版。Touchstart vs Click。引擎蓋下發生了什麼?

更新我的PhoneGap的應用程序後,聽

$(選擇).bind( 「touchstart」,函數());

代替

$(選擇器)。點擊(函數());

(在這裏有jquery),性能有了顯着提高,我想知道touchstart的不同之處,儘管它可能是專門爲移動設備環境設計的。我在touchstart上查找了w3c document,但它沒有提供任何信息。

如果任何人有一個鏈接到進一步的解釋或可以解釋它是如何工作的,我非常感激

+0

我覺得'touchstart'和'mousedown'很相似,所以事件會更快。 – alex 2012-03-09 11:30:21

+0

亞歷克斯,感謝您的想法。我在我的應用程序中測試了mousedown,但性能與.click類似。 – dan 2012-03-09 11:35:41

回答

24

在只要你的手指觸摸屏幕的iPhone的touchstart事件觸發,而click事件觸發300毫秒在您觸摸屏幕並將手指從屏幕上擡起之後。 300毫秒的時間延遲讓Safari可以等待,看看您是否打算連續點擊屏幕來模擬縮放手勢。

+0

這聽起來很合理 – dan 2012-03-09 13:38:24

+2

根據具體情況,您可能會喜歡Fastclick.js庫:https://github.com/ftlabs/fastclick – 2013-06-01 03:39:19