我正在提交一个表单,我想阻止提交操作,直到我执行一些其他操作,例如显示文件上传的进度条。我根据诸如event.preventDefault() function not working in IE之类的 SO 问题设置了此代码。
$(document).ready(function(){
$("#fileform").submit(function(e){
if(!e) e = window.event;
if (e.preventDefault){
// Firefox, Chrome
e.preventDefault();
}else{
// Internet Explorer
e.returnValue = false;
}
// other code
}
}
在 Firefox 和 Chrome 中一切正常;提交动作被阻止,出现进度条,然后当我告诉它提交表单时。但是,在 IE 10 中,if 语句的第一个条件被执行,并且表单似乎正在尝试提交(IE 10 的提交气泡出现)。为什么要执行第一个条件?
IE 10 是否支持 IE 8 和 9 不支持的 preventDefault()?如果是这样,我该如何正确处理阻止 IE 8、9、10 中不会干扰 Firefox、Chrome、Safari 等的表单提交操作?