1. 程式人生 > >解決iOS的Safari瀏覽器解析綁定了onclick事件閃爍的問題

解決iOS的Safari瀏覽器解析綁定了onclick事件閃爍的問題

開發遊戲公告資訊網頁時遇到了一個這樣的問題:在iOS裝置上點選綁定了onclick事件的標題會出現閃爍的問題一下是解決方法:

點選與click
對於a標記的點選導航,預設是在onclick事件中處理的。而移動客戶端對onclick的響應相比PC瀏覽器有著明顯的幾百毫秒延遲。

在移動瀏覽器中對觸控事件的響應順序應當是:

ontouchstart -> ontouchmove -> ontouchend -> onclick

因此,如果確實要加快對點選事件的響應,就應當繫結ontouchend事件。

使用click會出現繫結點選區域閃一下的情況,解決:給該元素一個樣式如下

-webkit-tap-highlight-color: rgba(0,0,0,0);

如果不使用click,也不能簡單的用touchstart或touchend替代,需要用touchstart的模擬一個click事件,並且不能發生touchmove事件,或者用zepto中的tap(輕擊)事件。

click 事件普遍 300ms 的延遲 在手機上繫結click 事件,會使得操作有300ms 的延遲,體驗並不是很好。 開發者大多數會使用封裝的 tap 事件來代替click 事件,所謂的 tap 事件由 touchstart 事件 + touchmove 判斷 + touchend 事件封裝組成。 

轉載:http://segmentfault.com/a/1190000000339907