【问题标题】:how to check the click is single or double in javascript如何在javascript中检查点击是单次还是双次
【发布时间】:2015-09-25 23:38:39
【问题描述】:

我正在尝试检查对元素的单击是单击还是双击。

我正在尝试使用此代码。

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" >

【问题讨论】:

标签: javascript jquery click


【解决方案1】:

无需使用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);

});

DEMO

在 jquery 中:

$('#clk').on('click', singleClick).on('dblclick', doubleClick);

DEMO

【讨论】:

  • 由于这被标记为 jQuery,知道他们也提供它可能很有用。 api.jquery.com/dblclick.
  • 我是否应该包含任何与 addEventListener() 一起使用的库...我根本没有得到警报:(
  • @Alén 不,你不需要任何库。
  • @stevenw00 是的,已添加
  • 对于 Click 事件没有触发
猜你喜欢
  • 2011-12-16
  • 2015-03-01
  • 1970-01-01
  • 2020-05-23
  • 1970-01-01
  • 1970-01-01
  • 2020-01-15
  • 2011-08-03
  • 2019-12-15
相关资源
最近更新 更多