fastclick插件導(dǎo)致日期(input[type="date"])控件無法被觸發(fā)該如何解決
本文作為一名新手,寫的不好地方還請各位大家多多指教,以下內(nèi)容只是給大家共勉以下我的解決方案,也是我個人的一個見解,有不同意見不同解決方案的朋友還請多多分享自己的解決辦法。
首先,我們使用fastclick插件的初衷是解決“tap”事件“點透”的BUG;fastclick與tap都是利用“touch”事件來模擬“click”事件的;
然后我們來大致的了解一下fastclick的工作原理(來自往上的copy):
在我們的app中跟蹤所有的TouchStart事件,在接收到touchend事件的時候,觸發(fā)一個click事 件;
使用方法可找度娘;
但是問題來了,當使用了fastclick的時候,我們發(fā)現(xiàn)“日期”控件無法被觸發(fā)了,是正常的點擊時無法被觸發(fā),如果長按0.5S的樣子還是可以觸發(fā)的,但是問題還是已經(jīng)存在,必須解決!
通過閱讀fastclick的源碼發(fā)現(xiàn)里面有個這個方法
反正意思在上面也提到過,就是在接受到touchend事件的時候,觸發(fā)一個click事件;
那么我的解決防范就是:
當touchend的時候我們判斷一下他的event.target到底是啥,如果是date我們就不玩了,不要你fastclick了,用原生的去觸發(fā)不就OK了,來個return false;
我的代碼:
這里if里面的條件就隨便寫咯,自己根據(jù)項目需求而定,反正你要的是到達某個特殊的條件時給他退出就好了;
本文作為一名新手,寫的不好地方還請各位大家多多指教,以下內(nèi)容只是給大家共勉以下我的解決方案,也是我個人的一個見解,有不同意見不同解決方案的朋友還請多多分享自己的解決辦法。謝謝大家能夠關(guān)注本篇文章,有你們的支持我會做的更好。
相關(guān)文章
Javascript結(jié)合css實現(xiàn)網(wǎng)頁換膚功能
現(xiàn)在網(wǎng)站換皮膚是比較常見的功能,大多數(shù)論壇都有的,要想實現(xiàn)這樣效果可以看如下代碼.2009-11-11Intellij中直接運行ts配置方法:run?configuration?for?typescript
run?configuration?for?typescript?插件本質(zhì)還是依賴于ts-node來運行,只是其可以幫助我們自動配置好ts-node運行參數(shù),簡化使用,這篇文章給大家介紹在Intellij中可以借助插件run?configuration?for?typescript直接運行typescript的方法,感興趣的朋友一起看看吧2023-08-08理解Javascript的caller,callee,call,apply區(qū)別
理解Javascript的caller,callee,call,apply區(qū)別...2007-03-03