javascript - 使用zepto的tap事件点击一次触发2次,快速点击报错"trigger" undefined?

查看:134
本文介绍了javascript - 使用zepto的tap事件点击一次触发2次,快速点击报错"trigger" undefined?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

经过测试这个问题在chrome 下面测试会出现,在firefox下面不会,可能是兼容性的问题吧。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>手机端touch事件测试</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <script type="text/javascript" src="js/zepto/zepto.min.js"></script>
    <script type="text/javascript" src="js/zepto/touch.js"></script>

<style>
.divBox{
    width: 100px;
    height: 100px;
    background: red;
    margin: 100px;
}
</style>
</head>
<body>
<div class="divBox">123</div>

<script type="text/javascript">
 $(".divBox").tap(function(){
        console.log(6);
});
</script>
</body>
</html>

解决方案

之前也遇到过,这是Chrome55版本出现的问题。
出现的原因:点击tap事件直接进入两次, 执行touchendpointerup分别一次。
两个方法:

  • 修改谷歌浏览器对指针活动的支持。

  1. 谷歌浏览器输入chrome://flags/回车

  2. 找到 指针活动

  3. 选择 已停用

  4. 重启Chrome

  • 替换touch.js模块代码,最新版已经修改好了该问题。
    相关issue

这篇关于javascript - 使用zepto的tap事件点击一次触发2次,快速点击报错&quot;trigger&quot; undefined?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆