尝试捕捉jquery-ui的切换方法不能按预期工作

时间:2015-09-20 05:36:14

标签: javascript jquery jquery-ui try-catch

我有一个页面,其中单击按钮会调用以下JavaScript代码。该页面使用jquery和jquery-ui进行动画制作。此代码使用jquery-ui的toggle方法,而不是jquery的类似方法。

我故意为animation effect的第一个参数传递一个不正确的值,以检查catch块是否按预期工作。

第一次单击该按钮并调用此代码时,将抛出异常并到达catch块。但是当我再次单击该按钮再次调用相同的代码时,则永远不会到达catch块,而是在catch块之后,即使第一个参数仍然无效,控制也会直接进入第一行。

问题:为什么无效的动画效果参数在第二次调用时不会抛出异常,而只是在第一次调用它时抛出它?

var emt = $("#cDiv"); 
try {
    emt.hide();
    emt.toggle("xyz", {
        easing: "swing"
    }, 1000, function() {
        animationCompleted = true;
        startPolling();
    });
} catch (e) {
    console.log(e.message);
}

更新1

我在jsfiddle上添加了一个代码示例来演示我的问题。该示例位于此网址:http://jsfiddle.net/sun21170/rm580npe/4/

在此代码示例中,如果从下拉列表中选择了有效的动画效果,则Custom Div会按预期动画,但如果选择xyz作为动画效果,则会出现错误这可以在错误div中看到。但是,如果Animate Custom Div是选定的动画效果,则单击xyz按钮时不会反复显示错误。

0 个答案:

没有答案