在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 相关文章推荐
一个用js实现的页内搜索代码
May 23 Javascript
JavaScript中的稀疏数组与密集数组[译]
Sep 17 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
Jun 02 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
May 29 Javascript
Web纯前端“旭日图”实现元素周期表
Mar 10 Javascript
在ABP框架中使用BootstrapTable组件的方法
Jul 31 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
Nov 24 Javascript
Emberjs 通过 axios 下载文件的方法
Sep 03 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
Nov 12 Javascript
jQuery实现手风琴效果(蒙版)
Jan 11 jQuery
js实现九宫格布局效果
May 28 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
Aug 10 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
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
select2 ajax 设置默认值,初始值的方法
2018/08/09 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
Python 实现简单的电话本功能
2015/08/09 Python
python装饰器实例大详解
2017/10/25 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
医药工作者的求职信范文
2013/09/21 职场文书
生物技术专业毕业生求职信范文
2013/12/14 职场文书
高中生家长会演讲稿
2014/01/14 职场文书
机电专业求职信
2014/06/14 职场文书
物业管理专业自荐信
2014/07/01 职场文书
工作作风承诺书
2014/08/30 职场文书
法定授权委托证明书
2014/09/27 职场文书
工会积极分子个人总结
2015/03/03 职场文书
离婚起诉书范本
2015/05/18 职场文书
优质护理心得体会
2016/01/22 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP