移動端touch事件影響click事件

click點擊事件在ios上會有300毫秒的延遲目前有如下解決方法: 方法一:靜止縮放javascript

[html] view plain copyhtml

<meta name="viewport" content="width=device-width user-scalable= 'no'"> java

使用這個方法必須徹底禁用縮放來達到目的,雖然大部分移動端能解決這個延遲問題,可是部分蘋果手機仍是不行。

方法二:fastclick.js FastClick 是 FT Labs 專門爲解決移動端瀏覽器 300 毫秒點擊延遲問題所開發的一個輕量級的庫。簡而言之,FastClick 在檢測到touchend事件的時候,會經過 DOM 自定義事件當即觸發一個模擬click事件,並把瀏覽器在 300 毫秒以後真正觸發的click事件阻止掉。使用方法以下。ios

第一步:在頁面中引入fastclick.js文件。 第二步:在js文件中添加如下代碼 在 window load 事件以後,在body上調用FastClick.attach()便可。

[javascript] view plain copy window.addEventListener(function(){
FastClick.attach( document.body );
},false );web

若是你項目使用了JQuery,就將上面的代碼改寫成:

[javascript] view plain copy $(function() {
FastClick.attach(document.body);
});瀏覽器

方法三:指針事件spa

指針事件最初由微軟提出,現已進入 W3C 規範的候選推薦標準階段 (Candidate Recommendation)。指針事件是一個新的 web 事件系列,相應的規範旨在使用一個單獨的事件模型,對全部輸入類型,包括鼠標 (mouse)、觸摸 (touch)、觸控 (stylus) 等,進行統一的處理。 指針事件 (Pointer Events) 目前兼容性不太好,不知道在之後會不會更加支持。 另外普通標籤綁定點擊事件在ios上有時無效,須要增長cursor:pointer屬性
相關文章
相關標籤/搜索