【问题标题】:making my click double-click event working使我的单击双击事件起作用
【发布时间】:2013-04-28 08:22:07
【问题描述】:

您好,我正在为我的 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 语句必须为假。

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

是的,请在此处查看工作演示:click the click en dubbelclick button

【问题讨论】:

    标签: javascript jquery event-handling click double-click


    【解决方案1】:

    你把这件事复杂化了。 jQuery 内置了所有这些:

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

    这也会点击单曲:你可能想看看这个帖子,看看你能做些什么来防止这种情况发生:Javascript with jQuery: Click and double click on same element, different effect, one disables the other

    【讨论】:

    • 我想在相同的元素上使用这两个。那行不通,所以这就是我编写脚本的原因
    • 好吧,你可以看看那些脚本。因为他们工作,你会在那里找到你的答案。我们可以在这里复制他们的答案,但最好看看他们是如何解决的。
    • 不客气,我已经修好了。我将删除我的问题,因为它已经存在。
    猜你喜欢
    • 2014-10-14
    • 2018-10-21
    • 2012-03-30
    • 2014-04-14
    • 1970-01-01
    • 2012-01-25
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多