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

clipboard.png

经过测试这个问题在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>
阅读 6.5k
2 个回答

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

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

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

  2. 找到 指针活动

  3. 选择 已停用

  4. 重启Chrome

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

你的zepto.min.js里面是不是已经包含touch模块了,可以使用Zepto Builder重新打包下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题