使我的点击双击事件工作

making my click double-click event working

本文关键字:事件 工作 双击 我的      更新时间:2023-09-26

嗨,我正在为我的jquery ajax引擎的点击双击事件处理程序工作。其原理是,您可以单击或双击一个按钮。这是我自己写的,但我不明白为什么它不起作用。

这是代码:

$('body').on('click', '.double-click', function() {
    var that = this;
    var dblclick = $(that).data('clicks');
    if(!dblclick){
        dblclick = 0;
    }
    dblclick = dblclick + 1;
    $(that).data('clicks', dblclick);
    dblclick = $(that).data('clicks');
    console.log('click - ' + dblclick);
    if(dblclick > 1){
        $(this).data('clicks', 0);
        //ajaxloader(this, 1);
        alert('dubbel-klik');
        console.log('dubbelcik event');
    }   
    setTimeout(function() {
        if(dblclick == 1){
            $(that).data('clicks', 0);
            //ajaxloader(this, 0);
            alert('klik');
            console.log('single click event');
        }
    }, 400);
});

它可能看起来有点过于复杂,但那是因为我尝试了一些东西。我遇到的问题是,当我双击双击时,也会执行单个点击。这是怎么可能的,当我重置$(this).data('clicks', 0);。然后计数器必须为0,超时中的if语句必须为false。

有人知道出了什么问题!?

O是的,在这里看到一个工作演示:单击click en dubbelclick按钮

你把事情弄得太复杂了。jQuery内置了所有这些:

$('body').on('click', function(){ 
    alert("single click")
});
$('body').on('dblclick', function(){
    alert("double click");
});

这也会点击单个元素:你可能想检查一下这个线程,看看你能做些什么来防止:Javascript与jQuery:点击并双击同一元素,不同的效果,一个禁用另一个