如何使用匹配所有元素的jQuery选择器跟踪多个元素的点击次数?

时间:2013-10-30 16:47:37

标签: javascript jquery onclicklistener

我有一组具有相同clickme类的按钮:

<button class="clickme">Click Me 1</button>
<button class="clickme">Click Me 2</button>
<button class="clickme">Click Me 3</button>

我还有一个clickme类的点击处理程序:

$('.clickme').on('click', function () {
  // do stuff
});

如何在此方案中跟踪每个按钮的点击次数

注意:我在下面提供了自己的答案,但我不确定我的是最佳解决方案。我想我可以改善简洁。

2 个答案:

答案 0 :(得分:1)

我会通过将点击次数存储在各个元素上来解决这个问题:

$('.clickme').on('click', function () {
    var that = $(this);

    if (typeof (that.data( 'clickCount')) === 'undefined') {
        that.data( 'clickCount', 1);
    } else {
        var clickCount = that.data( 'clickCount');
        clickCount++;
        that.data( 'clickCount', clickCount);
    }

    alert(that.text() + ' clicked ' + that.data( 'clickCount') + ' times.');

    });

Working fiddle

这是最佳方法吗?

答案 1 :(得分:0)

这对你来说是一个非常简单的例子和​​好例子:

$('.clickme').on('click', function () {
          var count = parseInt($(this).data('click'), 10) || 0;
          count++;
          $(this).data('click',count);
          alert(count);    
        });

这里:JSFiddle