Javascript 在IE中,后挡板仅在控制台打开后工作

Javascript 在IE中,后挡板仅在控制台打开后工作,javascript,html,internet-explorer,sharepoint-2013,internet-explorer-11,Javascript,Html,Internet Explorer,Sharepoint 2013,Internet Explorer 11,SharePoint中的回发重定向在Chrome和firefox中运行良好。但是IE 11的重定向也不能正常工作 我使用了下面的javascript代码 var publishButton = $("input[id$=SaveItem]"); // change redirection behavior publishButton.removeAttr("onclick"); publishButton.on('cli

SharePoint中的回发重定向在Chrome和firefox中运行良好。但是IE 11的重定向也不能正常工作

我使用了下面的javascript代码

 var publishButton = $("input[id$=SaveItem]");
            // change redirection behavior
            publishButton.removeAttr("onclick");

            publishButton.on('click',function() {

                var elementName = $(this).attr("name");
                var aspForm = document.forms['aspnetForm'];
                var oldPostbackUrl = aspForm.action;
                if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')) return false;
                var currentSourceValue = GetUrlKeyValue("Source", true, oldPostbackUrl);
                var newPostbackUrl = _spPageContextInfo.webAbsoluteUrl+"/Lists/Posts/Post.aspx";
                var newPostbackUrl = oldPostbackUrl.replace(currentSourceValue,newPostbackUrl );
                if (!PreSaveItem()) return false;
                setTimeout(function(){
                    WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", newPostbackUrl, false, true));
                },1);       
            });

建议在IE 11重定向中执行的操作。

在执行任何其他操作之前,请先尝试以下操作:

        document.getElementById("yourElementName").addEventListener("click", function(event){
                  event.preventDefault()
       });

为什么设置超时?对于firefox,需要设置超时。没有设置超时,单击按钮在firefox中无法正常工作。我不明白。请简短地说。您正在从元素中删除单击,这很好。但您还必须防止该元素的默认单击行为。因此,通过首先应用我的答案,可以禁用默认行为。然后实现你想要的。