fastclick插件导致日期(input[type="date"])控件无法被触发该如何解决_javascript技巧

本文作为一名新手,写的不好地方还请各位大家多多指教,以下内容只是给大家共勉以下我的解决方案,也是我个人的一个见解,有不同意见不同解决方案的朋友还请多多分享自己的解决办法。

首先,我们使用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里面的条件就随便写咯,自己根据项目需求而定,反正你要的是到达某个特殊的条件时给他退出就好了;

本文作为一名新手,写的不好地方还请各位大家多多指教,以下内容只是给大家共勉以下我的解决方案,也是我个人的一个见解,有不同意见不同解决方案的朋友还请多多分享自己的解决办法。谢谢大家能够关注本篇文章,有你们的支持我会做的更好。

时间: 2024-09-08 11:45:49

fastclick插件导致日期(input[type="date"])控件无法被触发该如何解决_javascript技巧的相关文章

浅析js设置控件的readonly与enabled属性问题_javascript技巧

如何用js设置控件的readonly和enabled属性?  我试过这样设置不行,text1为<input type=text  id=text1>   text1.readonly=true;       和   text1.enabled=true;   都不行,为什么???   答案: disabled=flase;     //小写readOnly=true;     //大写

jQuery实现为控件添加水印文字效果(附源码)_javascript技巧

本文实例讲述了jQuery实现为控件添加水印文字效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-text-add-txt-style-codes/ 具体代码如下: <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>WaterMark

js如何获取file控件的完整路径具体实现代码_javascript技巧

今天做一个项目,需要隐藏input file然后获取它的值,但连jquery都无法获取它的值 复制代码 代码如下: <script type="text/javascript"> //FX获取文件路径方法 function readFileFirefox(fileBrowser) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catc

js重写alert控件(适合学习js的新手朋友)_javascript技巧

纯粹是为了打发时间,手写了一个JS的 alert控件. 代码如下: <html> <head> <script type="text/javascript"> var alertObj = new Object(); var generalStyle = { zIndex: 0, width: "200px", height: "100px", border: "thick solid #CCCCCC

js将控件隐藏的方法及display属性介绍_javascript技巧

用JavaScript隐藏控件的方法有两种,分别是通过设置控件的style的"display"和"visibility"属性.当style.display="block"或style.visibility="visible"时控件或见,当style.display="none"或style.visibility="hidden"时控件不可见.不同的是"display"

ActiveX控件与Javascript之间的交互示例_javascript技巧

1.ActiveX向Javascript传参 复制代码 代码如下: <script language="javascript" for="objectname" event="fun1(arg)"> fun2(arg); </script> objectname为ActiveX控件名,通过<object>标签里的id属性设定,如下: 复制代码 代码如下: <object id="objectna

JS控件ASP.NET的treeview控件全选或者取消(示例代码)_javascript技巧

复制代码 代码如下: <script language="javascript">   /*   函数名称:CheckNode(currentNode).ParentNode(currentNode).ChildNode(currentNode)   函数功能:实现带checkbox的treeview中   1.选中父结点其子结点也全部选中   2.取消全部子结点的选择后,父结点的选择也随之取消   使用方法:1.在<head></head>中间添加

JavaScript监测ActiveX控件是否已经安装过的代码_javascript技巧

function detectPlugin(CLSID,functionName) { var pluginDiv = document.createElement("<div id=\"pluginDiv\" style=\"display:none\"></div>") document.body.insertBefore(pluginDiv); pluginDiv.innerHTML = '<object id

html5+jquery mobile打包成apk后input type=“date”失效

问题描述 html5+jquery mobile打包成apk后input type="date"失效 html5+jquery mobile制作的手机app客户端用phonegap+eclipse打包成apk后input type="date"失效.用浏览器打开后正常,打包成apk安装到手机上,日期选择图标没有了,无法选择日期.部分代码如图:求大大解答!该怎么解决? 解决方案 问题已解决!!!!!!!!!!!! 解决方案二: http://stackoverflow