Javascript firefox中奇怪的JS流

Javascript firefox中奇怪的JS流,javascript,firefox,flow,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());

我的JS代码如下

if (fileControl != NoFileMessage) {
    if (fileControl.val() != NoFileMessage) {
        var valid_extensions = /(.xlsx)$/i;
        if (!valid_extensions.test(fileControl.val())) {
            alert($("#txtInvalidFileFormatMsg").val());
            return false;
        }
...
    }
} 
在第一次执行期间,显示
警报
,然后控件“跳回到”第一个
if
语句,而不是继续执行
返回false
,因此代码执行两次,警报显示两次

因此,警报框显示两次。有关于我如何解决这个问题的建议吗?它在其他浏览器(包括IE)中运行良好

更新:
更深入的了解,这段代码是在
.change()
事件上调用的,在第一个
if
语句之前添加
控制台.log()
,并查看它是否记录了两次。您是否两次错误地将同一事件绑定到元素?@AlexeyLebedev it is is get loggedtwice@TommyBs这是别人的密码,所以这需要一些时间来搜索,但正如我所说的,它在其他浏览器中运行良好。。这可能是问题所在吗?@badZoke然后控制就不会跳回去了。函数被调用了两次。您可以查看调用堆栈并找到问题的根源。