javascript – 防止jQuery触发多次点击事件

前端之家收集整理的这篇文章主要介绍了javascript – 防止jQuery触发多次点击事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个 jQuery content switcher.一般来说,它工作正常,但它有一个问题.如果您多次点击侧边的链接,有时会显示多个内容.

这个问题很可能在点击事件中的某个地方.这是代码

$('#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
}

但似乎总是认为事情是动画的.任何想法如何防止动画被多次触发?

解决方法

一个想法是在您的功能开始时删除点击事件,然后在动画完成后再次添加点击事件,因此持续时间内的点击将不起作用.

如果您有能力在动画完成后执行代码,这应该可以工作.

原文链接:https://www.f2er.com/jquery/151168.html

猜你在找的jQuery相关文章