Jquery 每单击一项仅增加一次计数器

Jquery 每单击一项仅增加一次计数器,jquery,Jquery,下面的代码基本上会在单击具有单个类的项时递增计数器。有许多项目只有一个类。我需要做的是,即使单个项目被多次单击,如何使计数器增加一次,这是我无法理解的 var counter = parseInt($.trim($(".counter").html())); items.click(function(){ if($(this).hasClass("single")) { $(this).addClass("selected"); //increment

下面的代码基本上会在单击具有单个类的项时递增计数器。有许多项目只有一个类。我需要做的是,即使单个项目被多次单击,如何使计数器增加一次,这是我无法理解的

var counter = parseInt($.trim($(".counter").html())); 
items.click(function(){
    if($(this).hasClass("single")) { 
        $(this).addClass("selected");
        //increment counter            
        $(".counter").html(++counter);

        //if ($(this).hasClass("selected")) {               
        //    $(".counter").html(counter);
        // }
    }
    else { 
        return false;
    }

    return false;
});

如果在递增计数器后可以从代码中删除类
single
,则应该可以解决问题

但是,您可能需要该类来处理其他事情,因此这里有另一种简单的方法来处理它:

var counter = parseInt($.trim($(".counter").html())); 
items.click(function(){
    if($(this).hasClass("single") && !($(this).hasClass("selected"))) { 
        $(this).addClass("selected");
        //increment counter            
        $(".counter").html(++counter);
    }
});

最后,你在用什么?如果是这样,所选的
类可能与自动生成的代码冲突。

请尝试这种方式,只单击一次

$('#first_name').one('click', function()
{
console.log('a')
});

什么意思?每个项目基本上只能更新计数器一次?顺便问一下,为什么要添加
.stop()
?您已经检查了它是否有单类。你不能检查它是否被选中,在这种情况下也不能增加吗?停止是停止应用于每个项目的动画。在结束问题之前,我尝试了一个函数,它不起作用。我知道remove类的作用。stop()实际上用于停止应用于每个项目的动画。我已经修改了代码,但是removeClass没有回答这个问题,我担心看起来我们需要更多的代码,或者更多地描述您正在尝试做的事情。不过,我很高兴继续尝试提供帮助。我尝试隔离代码以获得关注。基本上,假设有4个具有单个类的div元素,如果单击所有4个,计数器的最大值应为4。但在我当前的代码中,计数器继续递增到无穷大。这样更好吗?我的答案已经更新了,希望能解决问题。一切正常吗?你能把这个标记为答案吗?