在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 28 Javascript
js获取当前月的第一天和最后一天的小例子
Nov 18 Javascript
AngularJS入门教程(二):AngularJS模板
Dec 06 Javascript
基于jquery实现发送文章到手机的代码
Dec 26 Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 Javascript
常用的javascript设计模式
Jan 11 Javascript
vue与bootstrap实现时间选择器的示例代码
Aug 26 Javascript
详解基于Vue+Koa的pm2配置
Oct 24 Javascript
angular2模块和共享模块详解
Apr 08 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
Sep 27 Javascript
基于Node.js搭建hexo博客过程详解
Jun 25 Javascript
如何vue使用el-table遍历循环表头和表体数据
Apr 26 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
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
js简易版购物车功能
2017/06/17 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
python flask中静态文件的管理方法
2018/03/20 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
致铅球运动员广播稿精选
2014/01/12 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
2014年护士长工作总结
2014/11/11 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
2015年消防工作总结
2015/04/24 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
SQL Server Agent 服务无法启动
2022/04/20 SQL Server