如何使用:点击事件不是选择器?

时间:2012-06-07 13:35:17

标签: jquery

首先,我尝试过这样:

$('.choose-car li:not(.selected)').click(function () {
    console.log('works and with selected');
    $(this).addClass('selected');
});

然后我想了一下,并且尝试了这样:

$('.choose-car li:not(.selected)').on('click', function () {
    console.log('works and with selected');
    $(this).addClass('selected');
});

两者都适用于选择..

但是现在我想也许我必须在第一次点击后删除点击事件或是否有更简单的解决方案?也许我错过了什么?

3 个答案:

答案 0 :(得分:4)

您的代码在注册处理程序后添加了selected类。这可能不是您想要的,因为即使在获取selected类之后,处理程序仍将保持绑定到该元素。

尝试委派活动:

$(".choose-car").on("click", "li:not(.selected)", function() {
    $(this).addClass("selected");
});

答案 1 :(得分:0)

$( ".choose-car" ).on( "click", "li", function(){
    if( $(this).hasClass("selected") ) {
        return;
    }

     $(this).addClass('selected');
});

答案 2 :(得分:0)

if($(this).hasClass('selected')){
$(this).removeClass('selected')
}
else{
$(this).addClass('selected')
}