fastclick插件导致日期(input[type="date"])控件无法被触发该如何解决
作者:bea
本文作为一名新手,写的不好地方还请各位大家多多指教,以下内容只是给大家共勉以下我的解决方案,也是我个人的一个见解,有不同意见不同解决方案的朋友还请多多分享自己的解决办法。
首先,我们使用fastclick插件的初衷是解决“tap”事件“点透”的BUG;fastclick与tap都是利用“touch”事件来模拟“click”事件的;
然后我们来大致的了解一下fastclick的工作原理(来自往上的copy):
在我们的app中跟踪所有的TouchStart事件,在接收到touchend事件的时候,触发一个click事 件;
使用方法可找度娘;
但是问题来了,当使用了fastclick的时候,我们发现“日期”控件无法被触发了,是正常的点击时无法被触发,如果长按0.5S的样子还是可以触发的,但是问题还是已经存在,必须解决!
通过阅读fastclick的源码发现里面有个这个方法
反正意思在上面也提到过,就是在接受到touchend事件的时候,触发一个click事件;
那么我的解决防范就是:
当touchend的时候我们判断一下他的event.target到底是啥,如果是date我们就不玩了,不要你fastclick了,用原生的去触发不就OK了,来个return false;
我的代码:
这里if里面的条件就随便写咯,自己根据项目需求而定,反正你要的是到达某个特殊的条件时给他退出就好了;
本文作为一名新手,写的不好地方还请各位大家多多指教,以下内容只是给大家共勉以下我的解决方案,也是我个人的一个见解,有不同意见不同解决方案的朋友还请多多分享自己的解决办法。谢谢大家能够关注本篇文章,有你们的支持我会做的更好。
猜你喜欢
您可能感兴趣的文章:
- JavaScript中SetInterval与setTimeout的用法详解
- 深入解析JavaScript编程中的this关键字使用
- 3种js实现string的substring方法
- 举例讲解JavaScript substring()的使用方法
- js中substring和substr两者区别和使用方法
- 浅析js中substring和substr的方法
- js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
- 比较常见的javascript中定义函数的区别
- 详解JavaScript中的Unescape()和String() 函数
- 表单验证正则表达式实例代码详解
- JS实现网页上随机产生超链接地址的方法
- JavaScript获取页面中超链接数量的方法
- window.location.hash知识汇总
- JavaScript实现简单获取当前网页网址的方法
- JavaScript识别网页关键字并进行描红的方法
- JS实现兼容性较好的随屏滚动效果
- 初步了解javascript面向对象
- js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
- JS实现网页每隔3秒弹出一次对话框的方法