IE 10中的event.preventDefault

5 jquery internet-explorer

我正在提交表单,我想阻止提交操作,直到我执行一些其他操作,例如显示文件上传的进度条.我根据诸如event.preventDefault()函数之类的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
    }
}
Run Code Online (Sandbox Code Playgroud)

在Firefox和Chrome中一切正常; 阻止提交操作,出现进度条,然后在我告诉时提交表单.但是,在IE 10中,执行if语句的第一个条件,并且表单似乎正在尝试提交(IE 10的提交气泡显示).为什么第一个条件被执行?

IE 10是否支持在IE 8和9中没有的preventDefault()?如果是这样,我如何正确处理阻止IE 8,9,10中的表单提交操作,不会干扰Firefox,Chrome,Safari等...?

xda*_*azz 8

只需执行以下操作,jQuery已经为您完成了跨浏览器的工作.

$("#fileform").submit(function(e){
   e.preventDefault();
   // other code
});
Run Code Online (Sandbox Code Playgroud)