首先,我尝试过这样:
$('.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');
});
两者都适用于选择..
但是现在我想也许我必须在第一次点击后删除点击事件或是否有更简单的解决方案?也许我错过了什么?
答案 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')
}