我的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?