当前位置:主页 > 查看内容

a标签href属性与onclick事件使用实例

发布时间:2021-05-05 00:00| 位朋友查看

简介:a标签主要用来实现页面跳转,可以通过href属性实现,也可以在onclick事件里实现。 复制代码 代码如下: a onclick="window.location.href='www.jb51.net'" href="javascript:void(0);"脚本之家/a 这段代码在主流浏览器里都没问题,但在IE6下会出现不能跳转的……

a标签主要用来实现页面跳转,可以通过href属性实现,也可以在onclick事件里实现。

复制代码
代码如下:

<a onclick="window.location.href='www.jb51.net'" href="javascript:void(0);">脚本之家</a>

这段代码在主流浏览器里都没问题,但在IE6下会出现不能跳转的问题。这究竟是什么原因呢?

复制代码
代码如下:

javascript:void(0);

void(arg);可以理解为永远返回null的函数,但是其参数不能为空。其参数可以为任意的表达式甚至函数。

复制代码
代码如下:

<a href="javascript:void(name = '脚本之家'); alert(name);">测试</a>

测试

IE6先运行DOM本身绑定的事件,如onclick;如果没有阻止冒泡,则会顺序执行href属性。而void(0);正是不需要执行任何事件,则IE6告诉浏览器不执行任何事件(覆盖之前的动作),并且终止冒泡相当于return false;于是浏览器没有执行任何动作。所以只要在onclick事件内阻止冒泡事件即可。

复制代码
代码如下:

<a onclick="window.location.href='https://www.jb51.net';return false;" href="javascript:void(0);">脚本之家</a>

这样在IE6下就可以正常运行了。

另外还有一种方法就是不使用javascript:void(0);而改使用#也可以避免,href属性内的#本来的意思就是锚点#name所以当不指定任何锚点时会到页面顶端。#是有特定意义的,默认是#top,如果#后有内容会被认为是一个标签而从页面找到相应标签跳转到该处,找不到会跳转到页首,如果不想让跳转,可以使用###,###就是一个无意义的标签指定。


原文链接:https://m.jb51.net/web/215274.html
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐