这两天工作上遇到这种情况,需要在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>