JS同时绑定单双击事件

这两天工作上遇到这种情况,需要在tree组件上的每个节点绑定单双击事件,怎么实现呢?借助js的定时器来实现这个功能吧,思路是这样的:给定时器设置一个时间,如果在该时间段内用户点击一次则触发单机事件,大于1的话就执行双击事件。废话不多说,这里我们用一个示例来说明:

首先要引入jQuery,这里用jquery来为测试元素绑定事件

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="jquery-1.11.2.min.js"></script>
<script type="text/javascript">
	$(function() {
		$("#button").mouseup(function() {
			clickOrDblClick();
		});

		var count = 0
		var timer
		function clickOrDblClick() {
			count++;
			timer = window.setTimeout(function() {
				if (count == 1) {
					alert("单击")
				} else {
					alert("双击")
				}
				window.clearTimeout(timer)
				count = 0

			}, 300)
		}
	});
</script>
</head>
<body>
	<button id="button">测试单机双击</button>
</body>
</html>


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。