jQuery bug在错误时重复函数

时间:2010-09-22 19:21:13

标签: jquery error-handling jquery-animate

更新了问题:

如果遇到错误,JQuery动画会一遍又一遍地重复。返回或返回false不会阻止动画重复。修复此错误的最佳做法是什么?感谢。

<div id="label">
    FADE OUT
</div>

<script type="text/javascript">
     $(function() {

        $("#label")
            .animate(
                {opacity: 0}, 
                1000,
                function()
                {
                    throw new Error("Some error!");
                }
            );

     });
</script>

原始问题:

不确定为什么会这样,但是在使用jQuery一段时间之后(实际上在它成为主流之前)我仍然不明白为什么某些功能会在遇到错误时不断重复。

实施例: - 进行ajax调用,如果回调遇到错误,ajax调用将继续调用回调。这导致firebug控制台出现数百个错误。

  • 即使你使用.trigger(event),如果你触发的事件有遇到错误的代码,jQuery会一直触发事件。结束了。

*我尝试过使用try-catch并返回,甚至返回false ...但它仍然不会阻止jQuery反复重复该事件。

我的问题是1.)如何阻止它? 2.)如果有人知道的话,我很好奇为什么会发生这种情况。

谢谢!

1 个答案:

答案 0 :(得分:1)

你是什么意思重复'一遍又一遍'?如果我像这样制作一个处理程序:

$('a').click( function() { throw 'oops'; } );

...你是否期望在第一次点击时出现错误,然后停止调用处理程序......?