FastClick使用之trigger触发click失效
来源:互联网 发布:全知之眼纹身手腕 编辑:程序博客网 时间:2024/05/15 09:07
最近为了提升web app在ios上的点击效率,使用了FastClick.js,效果很明显,基本是点击后立马有反馈。可是发现一个问题,在使用模拟点击的时候,并不能触发点击的目的。
$("#btn").trigger("click");//模拟点击
而以上代码,在安卓上,却能正常触发。
于是百度查找了相关的资料,找到以下内容(引用自http://amazeui.org/1.x/javascript/fastclick/)
不应用 FastClick 的场景
桌面浏览器;
如果 viewport meta 标签 中设置了 width=device-width, Android 上的 Chrome 32+ 会禁用 300ms 延时;
Copy
<meta name="viewport" content="width=device-width, initial-scale=1">
viewport meta 标签如果设置了 user-scalable=no,Android 上的 Chrome(所有版本)都会禁用 300ms 延迟。
IE10 中,可以使用 css 属性 -ms-touch-action: none 禁止元素双击缩放(参考文章)。
根据上面描述,终于知道在安卓之所以能生效,是因为属于FastClick不应用的场景,而IOS则应用上了FastClick的效果。于是跟踪代码,各种调试,发现了在ios上,需要调用“模拟两次触发”才能完成一次真正的点击事件;
于是写了如下扩展:
var notNeed = FastClick.notNeeded(document.body);
$.fn.triggerFastClick=function(){
this.trigger("click");
if(!notNeed){
this.trigger("click");
}
}
需要用到模拟点击事件的时候,就使用$("#btn").triggerFastClick()来代替原来的trigger("click");
0 0
- FastClick使用之trigger触发click失效
- FastClick使用之trigger触发click失效
- trigger('click') 失效的解决
- Fastclick 导致click事件触发两次的问题
- 使用jquery trigger 触发a标签的click事件取代window.open方法
- jQuery自动触发事件trigger使用
- 使用trigger方法触发事件 change -model
- jQuery中trigger()使用之触发select下拉框(onchange)
- fastclick使用与解密
- fastclick的使用
- 小议使用trigger()的主动触发模拟点击的使用
- (14)ExtJS之Ext.form.field.Trigger触发字段
- Unity3D游戏开发之基于Trigger的触发式动画设计
- trigger触发图片控制
- oracle trigger 字段触发
- trigger手动触发
- fastclick
- iscroll使用情况下click事件失效的问题
- Python正则
- ViewFlipper使用详解
- linux下nproc的作用
- 优酷土豆携手华为抢滩4K视频市场:成立联合实验室
- Android 从后台进入前台
- FastClick使用之trigger触发click失效
- 新增的8类 HTML5 INPUT输入类型介绍
- 安卓手机安装busybox使用linux命令
- SpringMVC学习笔记
- MyBatis的foreach语句详解
- Java 编程要点之并发(Concurrency)详解
- NSIndex简单练习
- 获取HTML5视频时长的方法
- 模拟微信登录