a标签加入单击事件 屏蔽href跳转页面

转载 2015年11月18日 09:53:07

我们常用的在a标签中有点击事件:
1. a href="javascript:js_method();"

这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句

2. a href="javascript:void(0);" onclick="js_method()"

这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。

3.a href="javascript:;" onclick="js_method()"

这种方法跟跟2种类似,区别只是执行了一条空的js代码。

4.a href="#" onclick="js_method()"

这种方法也是网上很常见的代码,#是标签内置的一个方法,代表top的作用。所以用这种方法点击后网页后返回到页面的最顶端。

5.a href="#" onclick="js_method();return false;"

这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置。

我看了下taobao的主页,他们采用的是第2种方法,而alibaba的主页是采用的第1种方法,和我们的区别是每个href里的javascript方法都用try、catch包围。

综合上述,在a中调用js函数最适当的方法推荐使用:
a href="javascript:void(0);" onclick="js_method()"
a href="javascript:;" onclick="js_method()"
a href="#" onclick="js_method();return false;"

相关文章推荐

a标签加入单击事件 屏蔽href跳转页面

综合上述,在a中调用js函数最适当的方法推荐使用: a href="javascript:void(0);" onclick="js_method()" a href="javascript:;" o...

IE6中请求莫名中断(条件:a标签,click事件中有ajax请求,a标签中有href且是JavaScript:void(0);或JavaScript:;等阻断跳转代码)

原载于:雨夜带刀's Blog 本文链接:http://stylechen.com/ie6-aborted-ajax.html 场景还原:给a标签绑定了一个click事件用来触发ajax请求,在...
  • ernijie
  • ernijie
  • 2016年05月13日 11:48
  • 715

IOS-oc中label标签添加点击事件并跳转页面

一,概述 在网上找点击和跳转的方法找了很久,没有一个很规整的,这里记录一下,方便以后查找,也希望给需要的人一点帮助。 二,代码 首先是实现label的点击事件: @property (strong, ...

IE的option标签单击事件无法触发的解决方法

说明: 1、下面使用的代码仅适用于于IE浏览器,测试环境为IE8. 2、下面的代码来自于网络,我做了下闭包的整合 情景说明: 对于这样的一个select标签: 文...

<a>标签跳转和执行js函数,href和onclick属性

链接的onclick 事件被先执行,其次是href属性下的动作(页面跳转,或 javascript 伪链接); 假设链接中同时存在href 与onclick,如果想让href 属性下的动作不执行,on...

1、关于多个html标签单击事件的实现细节

1、对于多个html标签单击事件的错误写法,以及原因分析      1.1 多个html标签点击事件,的典型错误写法            1.1.1 html代码          111 ...

window.location.href/replace/reload()--页面跳转+替换+刷新

一、最外层top跳转页面,适合用于iframe框架集 top.window.location.href("${pageContext.request.contextPath}/Login_goB...

window.location.href页面跳转的用法(区别于redirect)

在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们经常使用Response.Redirect 做ASP.NET框架页跳转,如果客户要在跳转的时候使用提示,这个就不灵光了,如: Res...

window.location.href/replace/reload()--页面跳转+替换+刷新

一、最外层top跳转页面,适合用于iframe框架集 top.window.location.href("${pageContext.request.contextPath}/Login_goB...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:a标签加入单击事件 屏蔽href跳转页面
举报原因:
原因补充:

(最多只允许输入30个字)