如何检查在jQuery中是否多次单击按钮?

如何检查在jQuery中是否多次单击按钮?,jquery,Jquery,如果按钮被多次单击,我需要得到一个true。如何做到这一点 现在我像这样测试它,检查它是否被点击: var clicked = $(this).data('clicked', true); if (clicked) { return alert('button is clicked!'); } else { return alert('false'); } 但是如何检查它是否被多次点击?试图改变 $(this).data('clic

如果按钮被多次单击,我需要得到一个
true
。如何做到这一点

现在我像这样测试它,检查它是否被点击:

  var clicked = $(this).data('clicked', true);
    if (clicked) {
        return alert('button is clicked!');
    } else {
        return alert('false');
    }
但是如何检查它是否被多次点击?试图改变

 $(this).data('clicked', true);


但很明显,这没有帮助。非常感谢

你的逻辑有点错误。您使用的是
data()
的setter,因此单击的
将始终是选中的jQuery对象,因此
if
语句将始终为true

您需要将get从
数据()集合中分离出来。大概是这样的:

$('.foo')。单击(函数(){
var$foo=$(本);
如果(!$foo.data('clicked')){
log(“第一次单击”);
}否则{
log('以前单击过按钮');
}
$foo.data('clicked',true);
});

单击我
可能的解决方案:

$(function() {

    // Handle clicks on #button
    $('#button').on('click', function(e) {
        var trigger = $(this),
        clickCount = trigger.data('clickCount');

        clickCount++;

        trigger.data('clickCount', clickCount);

        if(clickCount > 1) {
            alert('This baby was clicked more than once!')
        }
        else {
            // some other code
        }
    });
});

你在点击处理程序中有什么代码?请显示你的完整代码(最少完整的可验证示例),包括上面所说的点击处理程序@/Brainfeeder。使用计数器????
$(function() {

    // Handle clicks on #button
    $('#button').on('click', function(e) {
        var trigger = $(this),
        clickCount = trigger.data('clickCount');

        clickCount++;

        trigger.data('clickCount', clickCount);

        if(clickCount > 1) {
            alert('This baby was clicked more than once!')
        }
        else {
            // some other code
        }
    });
});