2014-04-25 56 views
2

我已經開始使用Hammer.js爲移動瀏覽器實現拖動功能。我注意到,該功能也適用於桌面瀏覽器(這通過兼容性表https://github.com/EightMedia/hammer.js/wiki/Compatibility確認)。在桌面瀏覽器上使用Hammer.js的缺點?

在桌面瀏覽器中使用Hammer.js還有什麼缺點?

作爲一個例子;假設我想實現一個可以拖動「拇指」的滾動條(從頭開始)。而不是使用onmousedown/up,onmousemove和set/release mousecapture來實現,我可以簡單地使用Hammer.js的dragstart,drag和dragend事件。

回答

4

Hammer.js在檢測它是否在支持多點觸控的系統上運行時做得非常好。

在大多數情況下,如果您同時擁有鼠標和觸控顯示屏,它也可以很好地工作。我們正在開發一個基於hammer.js的桌面網絡應用程序,它應該可以同時使用鼠標和多點觸控交互,並且它大多可以正常工作。但是,這種情況似乎沒有像移動設備上的使用那樣得到很好的測試。例如,當hammer.js在Chrome瀏覽器(https://github.com/EightMedia/hammer.js/issues/302)上觸發兩次點擊事件時,它會在兩者之間關閉,因爲未檢測到任何活動,請參閱此開放的錯誤。

還要注意,經常需要微調hammer.js的行爲,通過與user_select,user_drag和prevent_default參數擺弄(見例如this question)。在谷歌瀏覽器中,我們還必須啓用實驗性觸摸操作:無。我不知道,這對於桌面系統來說有多少特定。

摘要 Hammer.js是針對桌面系統編寫的,在爲基於鼠標和觸摸的系統上提供合理的行爲方面做得相當不錯。詳細地說,它需要一些時間進行微調以使一切按預期工作。