<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JS中touchstart事件與click事件沖突的解決方法

        來源:懂視網 責編:小OO 時間:2020-11-27 19:43:27
        文檔

        JS中touchstart事件與click事件沖突的解決方法

        前言;移動互聯網是未來的發展趨勢,現在國內很多互聯網大佬都在爭取移動這一塊大餅,如微信及支付寶是目前比較成功的例子,當然還有各種APP和web運用。下面這篇文章主要介紹了關于JS中touchstart事件與click事件沖突解決的相關內容,下面話不多說了,來一起看看詳細的介紹吧。一 · 業務場景的描述。在對已完成的PC站點進行移動端適配時,我們想要站點在移動設備上有更快的響應速度,以帶給用戶更好的體驗,此時,我們應該使用移動設備專用的事件系統,例如,使用 touchstart 事件代替 click 事件。為什么這樣效果會更好呢?根據Google開發者文檔中的描述。移動設備上的瀏覽器將會在 click 事件觸發時延遲 300ms ,以確保這是一個“單擊”事件而非“雙擊”事件。
        推薦度:
        導讀前言;移動互聯網是未來的發展趨勢,現在國內很多互聯網大佬都在爭取移動這一塊大餅,如微信及支付寶是目前比較成功的例子,當然還有各種APP和web運用。下面這篇文章主要介紹了關于JS中touchstart事件與click事件沖突解決的相關內容,下面話不多說了,來一起看看詳細的介紹吧。一 · 業務場景的描述。在對已完成的PC站點進行移動端適配時,我們想要站點在移動設備上有更快的響應速度,以帶給用戶更好的體驗,此時,我們應該使用移動設備專用的事件系統,例如,使用 touchstart 事件代替 click 事件。為什么這樣效果會更好呢?根據Google開發者文檔中的描述。移動設備上的瀏覽器將會在 click 事件觸發時延遲 300ms ,以確保這是一個“單擊”事件而非“雙擊”事件。

        這篇文章主要給大家介紹了關于JS中touchstart事件與click事件沖突的解決方法,文中通過示例代碼將解決的方法介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

        前言

        移動互聯網是未來的發展趨勢,現在國內很多互聯網大佬都在爭取移動這一塊大餅,如微信及支付寶是目前比較成功的例子,當然還有各種APP和web運用。

        下面這篇文章主要介紹了關于JS中touchstart事件與click事件沖突解決的相關內容,下面話不多說了,來一起看看詳細的介紹吧。

        一 · 業務場景的描述

        在對已完成的PC站點進行移動端適配時,我們想要站點在移動設備上有更快的響應速度,以帶給用戶更好的體驗,此時,我們應該使用移動設備專用的事件系統,例如,使用 touchstart 事件代替 click 事件。

        為什么這樣效果會更好呢?根據Google開發者文檔中的描述:

        移動設備上的瀏覽器將會在 click 事件觸發時延遲 300ms ,以確保這是一個“單擊”事件而非“雙擊”事件。
        而對于 touchstart 事件而言,則會在用戶手指觸碰屏幕的一瞬間觸發所綁定的事件。所以,使用 touchstart 替換 click 事件的意義在于,幫助用戶在每次點擊時節省 300ms 的時間。在頁面頻繁需要點擊,或者點擊發生在動畫中,對動畫流暢度有較高要求的情境下,使用這種技術是非常必要的。

        但是,讓我們回到我們的初始場景,在 PC端站點適配移動端時 我們不能簡單的進行 touchstart和 click 事件的替換,因為PC并不能識別 touchstart 事件。

        二 · 產生沖突的原因

        當然,我們可以給某個元素同時綁定 touchstart 和 click 事件,但這將會導致本篇文章解決的問題 -- 這兩個事件在移動設備上會發生沖突。

        由于移動設備能夠同時識別 touchstart 和 click 事件,因此當用戶點擊目標元素時,綁定在目標元素上的 touchstart 事件與 click 事件(約300ms后)會依次被觸發,也就是說,我們所綁定的回調函數會被執行兩次!。這顯然不是我們想要的結果。

        三 · 解決方案

        針對這樣的情境,有以下兩種解決方案:

        (一)使用 preventDefault

        第一種解決方案是使用事件對象中的 preventDefault 方法,preventDefault 方法的作用在于:阻止元素默認事件行為的發生,但有意思的是,當我們在目標元素同時綁定 touchstart 和 click 事件時,在 touchstart 事件回調函數中使用該方法,可以阻止后續 click 事件的發生。

        這從道理上是講不通的,畢竟,我們添加的 click 事件并不是元素的“默認事件”,但它確實奏效了,或者說,被瀏覽器實現了,因此我們可以使用該方法解決移動設備上 touchstart 事件與 click 事件的沖突問題,具體代碼如下:

        當你在瀏覽器上模擬移動設備后點擊目標元素,只會在控制臺看到 touchstart event! 字段,很顯然,click 事件被成功阻止了。

        總結

        使用該方法的優點在于簡單粗暴,直接有效,能夠很好的實現我們的目標,但缺點在于, preventDefault 方法為阻止 click 事件的方式是瀏覽器實現上的,而不是 preventDefault 原理上的,這會帶來一些不確定性,雖然我暫時尚未發現該方法失效的具體場景。

        (二)基于功能檢測綁定事件

        我們可以通過判斷瀏覽器是否支持 touchstart 事件來封裝元素的點擊事件,這樣客戶端會根據當前環境判定元素應該綁定的事件類型,代碼如下:

        上面是我整理給大家的,希望今后會對大家有幫助。

        相關文章:

        微信小程序中實現手指縮放圖片的示例代碼

        基于vue中css預加載使用sass的配置方式詳解

        Angular 4.x+Ionic3踩坑之Ionic3.x pop反向傳值詳解

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JS中touchstart事件與click事件沖突的解決方法

        前言;移動互聯網是未來的發展趨勢,現在國內很多互聯網大佬都在爭取移動這一塊大餅,如微信及支付寶是目前比較成功的例子,當然還有各種APP和web運用。下面這篇文章主要介紹了關于JS中touchstart事件與click事件沖突解決的相關內容,下面話不多說了,來一起看看詳細的介紹吧。一 · 業務場景的描述。在對已完成的PC站點進行移動端適配時,我們想要站點在移動設備上有更快的響應速度,以帶給用戶更好的體驗,此時,我們應該使用移動設備專用的事件系統,例如,使用 touchstart 事件代替 click 事件。為什么這樣效果會更好呢?根據Google開發者文檔中的描述。移動設備上的瀏覽器將會在 click 事件觸發時延遲 300ms ,以確保這是一個“單擊”事件而非“雙擊”事件。
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久亚洲免费视频| 免费大片黄手机在线观看| 亚洲成熟xxxxx电影| 国产免费黄色无码视频| 亚洲精品无码专区2| 日韩免费高清一级毛片| 亚洲国产精品丝袜在线观看| a级毛片免费观看在线| 国产国拍亚洲精品福利| 一区二区3区免费视频| 亚洲日韩欧洲乱码AV夜夜摸| 99久久免费国产特黄| 婷婷亚洲久悠悠色悠在线播放| 国产在线观看免费视频软件 | 一级黄色免费大片| 精品亚洲成α人无码成α在线观看| 一二三区免费视频| 久久亚洲高清观看| 美女视频黄免费亚洲| 37pao成人国产永久免费视频| 亚洲综合色丁香麻豆| 97视频热人人精品免费| 亚洲av中文无码字幕色不卡| 亚洲大片免费观看| 亚洲人成在久久综合网站| 国产精品无码素人福利免费| 麻豆亚洲av熟女国产一区二| 97在线观免费视频观看| 免费人成视频在线播放| 亚洲精品无码mv在线观看网站| 最近新韩国日本免费观看| 亚洲欧洲AV无码专区| 亚洲成a人在线看天堂无码| 免费国产成人午夜在线观看| 亚洲视频在线免费| 13小箩利洗澡无码视频网站免费| 亚洲一区二区三区在线| 亚洲五月午夜免费在线视频| 亚州免费一级毛片| 四虎国产精品成人免费久久| 亚洲日本国产精华液|