木子屋 Dnawo's BLOG

手机移动端不能触发jQuery双击事件dblclick解决方法

👤 dnawo 📅 2016-10-13 👁 26469 👍 0 💬 0 🔄 本站原创
今天意外发现移动手机端不能触发jQuery的dblclick事件,做了个简单的页面重现问题:

<input name="btn1" id="btn1" type="button" value="随便点">
<script type="text/javascript">
$(document).ready(function(){
	$("#btn1").on("click", function(){console.log("click")});
	$("#btn1").on("dblclick", function(){console.log("dblclick")});
});
</script>

图片

如上图所示,手机端只触发了两次click事件,没有触发dblclick事件。既然click事件都能正常触发,那么我们应该可以通过判断两次单击间隔时间来模拟dblclick双击事件,修改脚本如下:

<input name="btn1" id="btn1" type="button" value="随便点">
<script type="text/javascript">
$(document).ready(function(){
	var touchtime = new Date().getTime();
	
	$("#btn1").on("click", function(){
		if((new Date()).getTime() - touchtime < 300 ){
			console.log("dblclick");
		}else{
			touchtime = new Date().getTime();
			console.log("click")
		}
	});
});
</script>

图片

OK,问题解决!

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 Android连续按两次返回键退出应用示例 下一篇 → Androrid控件WebView使用示例