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


Posted in Javascript onDecember 16, 2016

我们常用的在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;"

解释:

javascript:是伪协议,表示url的内容通过javascript执行。 void(0)表示不作任何操作,这样会防止链接跳转到其他页面。 这么做往往是为了保留链接的样式,但不让链接执行实际操作,具体的操作交给链接的onclick事件处理.

以上所述是小编给大家介绍的在JS中a标签加入单击事件屏蔽href跳转页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Jquery插件编写简明教程
Mar 25 Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 Javascript
JQuery简单实现锚点链接的平滑滚动
May 03 Javascript
jquery实现简单的自动播放幻灯片效果
Jun 13 Javascript
JavaScript中利用Array和Object实现Map的方法
Jul 27 Javascript
浅析jquery与checkbox的checked属性的问题
Apr 27 Javascript
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
在vue项目中使用sass的配置方法
Mar 20 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
vue 插件的方法代码详解
Jun 06 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
Jul 18 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 Javascript
概述jQuery中的ajax方法
Dec 16 #Javascript
JS数组排序方法实例分析
Dec 16 #Javascript
jquery UI Datepicker时间控件冲突问题解决
Dec 16 #Javascript
详解jQuery简单的表单应用
Dec 16 #Javascript
浅谈JavaScript的自动垃圾收集机制
Dec 15 #Javascript
简单三步实现报表页面集成天气
Dec 15 #Javascript
jQuery Validate让普通按钮触发表单验证的方法
Dec 15 #Javascript
You might like
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
JSON 编辑器实现代码
2009/12/06 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
python中pygame模块用法实例
2014/10/09 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python的Django中将文件上传至七牛云存储的代码分享
2016/06/03 Python
python获取中文字符串长度的方法
2018/11/14 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
python实现查找所有程序的安装信息
2020/02/18 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
DNA测试:Orig3n
2019/03/01 全球购物
银行个人求职自荐信范文
2013/12/16 职场文书
毕业生就业协议书
2014/04/11 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技