真的和這個混淆。我正在通過其'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