经过测试这个问题在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>
之前也遇到过,这是
Chrome
55版本出现的问题。出现的原因:点击
tap
事件直接进入两次, 执行touchend
和pointerup
分别一次。两个方法:
修改谷歌浏览器对指针活动的支持。
谷歌浏览器输入
chrome://flags/
回车找到 指针活动
选择 已停用
重启
Chrome
替换
touch.js
模块代码,最新版已经修改好了该问题。相关issue