真的和这个混淆。我正在通过其'add-bookmark'类来选择'a'元素。点击一个元素会将该元素的类切换为“书签”,所以它应该不能再次点击。JQuery元素选择器问题
在第一次点击它时,切换成功并使用新的“书签”类删除“添加书签”更新元素。当我再次单击该元素时,即使类与选择器的类不匹配,jquery仍然可以工作。
$('.add-bookmark').click(function(e){
e.preventDefault();
var uri_segment = $(this).attr('href');
$(this).animate({opacity: 0}, 'slow', function() {
$.ajax({
type: "POST",
url: uri_segment,
success: function(data) {
$('.add-bookmark').toggleClass('add-bookmark bookmarked');
$('.bookmarked').animate({opacity: 100}, 'slow');
}
});
});
});
请问这是否与在toggleClass上不更新的DOM有关?
任何帮助将是伟大的,谢谢!
本
建议:创建http://jsfiddle.net/一个例子你正在试图做的,使我们可以更好地帮助你什么。 – tiagoboldt 2011-03-10 13:41:12
执行代码时,单击处理程序将附加到元素。选择器仅用于选择当时的元素。一旦处理程序被连接,不管你如何改变元素。 – 2011-03-10 13:44:23
Felix有你的答案,如果你不想让点击事件发生在绑定到元素之后,你将不得不解除它。看看jquery api中的取消绑定函数[这里](http://api.jquery.com/unbind/) – Kyle 2011-03-10 13:49:50