4

我正在尝试计算用户单击任何图像的次数。这就是我想出的:

    var count = 0

   $('document').ready(function() {
        function countClicks() {
            $('img').click(function() {
                count++;
            }
        )};
    )};

我想知道这是否可行,以及它是否是我解决方案的最佳方法。另外,我以后如何访问“计数”?例如,如果我要输入一个检查“count”是否大于 10 的基本条件,它将是一个单独的函数还是在“countClicks”函数中?谢谢,如果这个问题过于简单,我很抱歉。

4

3 回答 3

6

您可以使用data()存储:

$('img')
    .data('counter', 0)
    .click(function() {
        var counter = $(this).data('counter');
        $(this).data('counter', counter + 1);
    });

演示:http: //jsfiddle.net/elclanrs/QEKMf/

于 2012-06-20T05:08:27.483 回答
0

如果您想检索该值以供以后使用,您应该尝试考虑持久化计数值(在数据库中)。

于 2012-06-20T05:05:32.540 回答
0

使用事件侦听器代替 onClick是一种很好的做法。这是一个简单的方法。JS 小提琴:https ://jsfiddle.net/xomkq7dv/3/

document.getElementById ("cat").addEventListener ("click", updateCounter, false);
    var count = 0;
    function updateCounter() {
        count++;  
        document.getElementById("counted").innerHTML = "This has been clicked " + count + " times.";
    }
于 2017-10-25T06:26:11.853 回答