3

首先我尝试这样:

$('.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');
});

两者都适用于选定的..

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

4

3 回答 3

4

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

尝试委派事件:

$(".choose-car").on("click", "li:not(.selected)", function() {
    $(this).addClass("selected");
});
于 2012-06-07T13:41:12.053 回答
0
$( ".choose-car" ).on( "click", "li", function(){
    if( $(this).hasClass("selected") ) {
        return;
    }

     $(this).addClass('selected');
});
于 2012-06-07T13:39:40.273 回答
0
if($(this).hasClass('selected')){
$(this).removeClass('selected')
}
else{
$(this).addClass('selected')
}
于 2012-06-07T13:40:10.787 回答