href不跳转,a href跳转相对路径
ajax里面使用 window.location.href 页面不跳转。
ajax直接使用document.location.href='xxx.html'不能跳转存在必然问题:
首先你点击了submit,它会提交表单,但是由于你用了ajax的同步操作(也就是async:false),submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(如:success)中写了document.location.href='xxx.html',它是执行了,的确是去执行了跳转的,于是ajax完成了,那接下来就要把刚才的submit提交的请求完成,这时候又会调回原界面,让你觉得document.location.href='xxx.html'没有跳转。
解决办法:
ajax中success添加return true
在form表单action中添加跳转地址。
希望对你有所帮助。
location.href不跳转是怎么回事
编写代码,js 用location.href做跳转,然后打开浏览器查看我们发现 没有请求
2
然后查看代码发现 a标签的超链接为javascript:void(0);
3
把a标签的href中的javascript:void(0);修改为# 即可解决
在手机上window.location.href怎么不能跳转
原因可能是因为在href中的javascript:void(0)阻止的事件行为,解决方法如下:
1.在onclick事件中加return false来阻止冒泡:
代码如下:
$("a").click(function(){
window.location.href = "xxx.html";
reutrn false;
})
2.延迟100毫秒
代码如下:
$("a").click(function(){
setTimeout(function(){
window.location.href = "xxx.html";
},100);
})
如何禁止href跳转
以下简单总结以下a标签阻止默认行为的几种简单方法,希望可以对有需要的朋友有些帮助,
(1) a href="javascript:void(0);" onclick= "myjs( )" Click Me /a
onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。
a href="javascript:;" Click Me /a
和void(0)一样,都返回"undefined"
(2) a href="#" Click Me /a
是网上很常见的代码,#是标签内置的一个方法,用这种方法点击后网页后返回到页面的最顶端所以又有了“##”“#!”等,尽管解决了返回顶部的问题但仍存在其他缺陷
(3)事件处理函数的工作机制中,在给某元素添加事件处理函数后,一旦事件发生,相应JavaScript代码就会执行,所调用的JavaScript代码的返回值被传递给事件处理函数。当我们给a标签添加onclick事件处理函数并点击a触发其后,
如果相应JavaScript代码返回true,onclick事件处理函数就会认为这个链接呗点击了,同样的若返回false即会认为链接
未被点击
a href="" onclick=" myjs(); return false; " Click Me /a
a href="" onclick=" return false; " Click Me /a
当点击a标签时,JavaScript代码返回值为false,故此链接默认行为未被触发。
(4)preventDefault()阻止事件的默认行为但不支持IE,所以在IE中使用returnValue阻止事件默认行为
a href="" id="test" Click Me /a
script type="text/javascript"
var test = document.getElementById('test');
function stopDefault( e )
{
if ( e e.preventDefault )
e.preventDefault();
else
window.event.returnValue = false;
}
test.onclick = function(e)
{
stopDefault(e);
}
/script