在firefox中奇怪的JS流程

时间:2013-04-02 10:39:22

标签: javascript firefox flow

我的JS代码如下

if (fileControl != NoFileMessage) {
    if (fileControl.val() != NoFileMessage) {
        var valid_extensions = /(.xlsx)$/i;
        if (!valid_extensions.test(fileControl.val())) {
            alert($("#txtInvalidFileFormatMsg").val());
            return false;
        }
...
    }
} 

在第一次执行期间,显示alert,然后控件“跳回”到第一个if语句,而不是继续到return false,因此代码执行两次并且alert显示两次

因此,警报框会显示两次。关于如何解决这个问题的任何指示?它在其他浏览器中工作正常(包括IE!)

更新 更多见解,这段代码是在.change()

<input type='file />'事件上调用的

正如我之前所说,代码片段执行了两次,经过一些挖掘后,我发现.change()事件被触发了两次。为什么这只发生在FX?

0 个答案:

没有答案