我已经创建了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