我注意到一個非常奇怪的行爲,也許是一個錯誤。我有一個帶錨和分隔符的垂直菜單。錨具有mousedown,touchstart,指針式的自定義事件處理程序。問題是,當我點擊並且手指同時覆蓋了錨點和分隔符(分隔符更多)時,將執行mousedown事件而不是touchstart。我設法在一個簡單的例子中重現它。 我在android chrome和桌面上使用chrome dev工具觸摸仿真來測試它。只需觸摸錨點和分隔符之間的區域,您將看到瀏覽器註冊了mousedown事件而不是touchstart事件。有人能告訴我什麼是錯的嗎?這是一個錯誤還是我做錯了什麼? 這隻發生在錨點,如果有段落而不是錨點,它不會發生。Touchstart在目標元素的邊緣導致mousedown
下面是示例: http://jsbin.com/huhariluva/edit?js,console,output
我知道pointerevents。該問題發生在Chrome上。我的意思是邊緣作爲錨點元素的邊界,而不是邊緣,瀏覽器。抱歉抱歉。 –
我認爲Chrome正在開發mousedown以保持舊網站與觸摸設備的兼容性。 touchstart只有在觸及確切的目標時纔會觸發,即使你在外面觸摸一下,也會觸發mousedown。嘗試觸摸一下第二個綠色div。它會發射mousedown。 –