在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最佳实践之精妙的自定义事件
Aug 11 Javascript
JS去除数组重复值的五种不同方法
Sep 06 Javascript
基于jQuery实现表格的查看修改删除
Aug 01 Javascript
JavaScript实现窗口抖动效果
Oct 19 Javascript
JS中SetTimeout和SetInterval使用初探
Mar 23 Javascript
node.js调用C++函数的方法示例
Sep 21 Javascript
express express-session的使用小结
Dec 12 Javascript
微信小程序使用for循环动态渲染页面操作示例
Dec 25 Javascript
js实现简单五子棋游戏
May 28 Javascript
浅谈实现在线预览PDF的几种解决办法
Aug 10 Javascript
vue-router 按需加载 component: () => import() 报错的解决
Sep 22 Javascript
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
概述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版(3)
2006/10/09 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
document.compatMode介绍
2009/05/21 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
今天,小程序正式支持 SVG
2019/04/20 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
Python解惑之整数比较详解
2017/04/24 Python
简单谈谈python中的语句和语法
2017/08/10 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
Python列表操作方法详解
2020/02/09 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
生产部经理岗位职责
2013/12/16 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
法院授权委托书范文
2014/08/02 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
加强党性修养心得体会
2016/01/21 职场文书
2016年安全月活动总结
2016/04/06 职场文书