我已經創建了jQuery content switcher。一般來說,它工作正常,但它有一個問題。如果多次單擊側面的鏈接,有時會看到多個內容。防止多次觸發jQuery中的點擊事件
這個問題很可能存在於點擊事件中的某處。下面是代碼:
$('#tab-list li a').click(
function() {
var targetTab = $(this).attr('href');
if ($(targetTab).is(':hidden')) {
$('#tab-list li').removeClass('selected');
var targetTabLink = $(this).parents('li').eq(0);
$(targetTabLink).addClass('selected');
$('.tab:visible').fadeOut('slow',
function() {
$(targetTab).fadeIn('slow');
}
);
}
return false;
}
);
我試圖加把鎖的過渡,以便爲轉變正在發生進一步的點擊將被忽略,但無濟於事。我也試圖阻止,如果事情已經在動畫,使用以下觸發過渡:
if ($(':animated')) {
// Don't do anything
}
else {
// Do transition
}
但它似乎總是認爲事情正在動畫。任何想法,我可以防止多次觸發動畫?
天才。今天用這個答案保存了我的屁股,找不到爲什麼多個點擊事件正在註冊,我認爲jQuery會很聰明並且停止它的發生,jQuery不能爲你做所有事情,因爲事實證明。謝謝。 – 2011-11-03 01:14:50