1

好的,我已经检查了这个线程:

防止多次触发jQuery中的单击事件

  • 并尝试按照描述取消绑定/重新绑定事件,但无济于事。我基本上有一个滑块库,带有下一个/上一个按钮。我想防止在动画期间单击下一个按钮。

    prev = $("#portfolio_nav_prev");
    next = $("#portfolio_nav_next");
    
    function nextAnim(){
        //remove handler
        next.unbind();
    
        gallery_frame.animate({scrollLeft:targetPos}, 300, 'easeInOutQuart',function(){next.bind(nextAnim)});
        return false;
        }
    

有任何想法吗?

4

1 回答 1

0

这是我最终使用的解决方案 - 问题是元素是一个锚点,所以当我取消绑定点击动画时 - 它试图导航离开页面,从而破坏了动画。

所以,我解除了事件的绑定,然后点击绑定返回 false:

next.unbind();
next.click(function(){return false;})

然后在动画回调中做同样的事情,但将它绑定回动画。

gallery_frame.animate({scrollLeft:targetPos}, 300, 'easeInOutQuart',
function()next.unbind();next.bind('click',nextAnim)});

但是,我认为真正的解决方案是首先用一些非锚元素制作下一个/上一个按钮。

于 2009-10-16T10:40:06.683 回答