我正在尝试检查元素上的点击是单击还是双击。
我正在尝试使用这段代码。
var clk_ch = document.getElementById('clk');
function singleClick() {
alert("single click");
}
function doubleClick() {
alert("double click");
}
var clickCount = 0;
clk_ch.addEventListener('click', function() {
alert();
clickCount++;
if (clickCount === 1) {
singleClickTimer = setTimeout(function() {
clickCount = 0;
singleClick();
}, 400);
} else if (clickCount === 2) {
clearTimeout(singleClickTimer);
clickCount = 0;
doubleClick();
}
}, false);
我没有收到任何警报。我哪里错了? clk
是被点击元素的id
<input type="image" src="button.gif" id="clk" >
最佳答案
无需使用setTimeout
。您可以添加 dblclick
事件监听器。
document.addEventListener("DOMContentLoaded", function (event) {
var clk_ch = document.getElementById('clk');
clk_ch.addEventListener('click', singleClick, false);
clk_ch.addEventListener('dblclick', doubleClick, false);
});
在 jquery 中:
$('#clk').on('click', singleClick).on('dblclick', doubleClick);
关于javascript - 如何在javascript中检查点击是单次还是双次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31286257/