href不跳转,a href跳转相对路径

http://www.itjxue.com  2023-01-13 06:20  来源:未知  点击次数: 

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

(责任编辑:IT教学网)

更多

相关业界动态文章