今天弄了一天,就这个事件触发后跳转弄了半天跳不了,后来百度了下,发现加句代码就OK了。
原代码:
function submita(){
var flag = false;
var ps = $("#submit_form").serialize(); //序列化获得表单的数据
var submitData = decodeURIComponent(ps,true);//解码后的表单数据,同上
$.ajaxSettings.async = false;
$.post($('#contextPath').val()+"/sy/sysUserAction_tologin.action", ps, function(data){
if(data){
flag = true;
}
});
if(flag){
location.href = $('#contextPath').val()+ "/index.html";
}
}
修改后的:
function submita(){
var flag = false;
var ps = $("#submit_form").serialize(); //序列化获得表单的数据
var submitData = decodeURIComponent(ps,true);//解码后的表单数据,同上
$.ajaxSettings.async = false;
$.post($('#contextPath').val()+"/sy/sysUserAction_tologin.action", ps, function(data){
if(data){
flag = true;
}
});
if(flag){
location.href = $('#contextPath').val()+ "/index.html";
window.event.returnValue=false; //return false是阻止游览器对事件的默认处理
}
}
通过window.event.returnValue=false;
作用:当捕捉到事件(event)时,判断为false,阻止当前时间继续运行作用;放在超链接中则不执行超链接;
return false
作用:不是阻止事件继续向顶层元素传播,而是阻止浏览器对事件的默认处理。
原博客地址:https://blog.csdn.net/qq_36938933/article/details/77978724