在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 相关文章推荐
Prototype中dom对象方法汇总
Sep 17 Javascript
原生javascript和jquery判断浏览器版本等信息
Jul 04 Javascript
js实现图片旋转的三种方法
Apr 10 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
Feb 27 Javascript
jquery插件orbit.js实现图片折叠轮换特效
Apr 14 Javascript
artDialog+plupload实现多文件上传
Jul 19 Javascript
jQuery焦点图左右转换效果
Dec 12 Javascript
jQuery表单元素选择器代码实例
Feb 06 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
Mar 30 Javascript
详解Ubuntu安装angular-cli遇到的坑
Sep 08 Javascript
JS异步错误捕获的一些事小结
Apr 26 Javascript
详解JSON.parse和JSON.stringify用法
Feb 18 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
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
python读取浮点数和读取文本文件示例
2014/05/06 Python
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
Python随机生成带特殊字符的密码
2016/03/02 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
django的ORM操作 增加和查询
2019/07/26 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
给女儿的表扬信
2014/01/18 职场文书
法人授权委托书范本
2014/09/17 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
春晚观后感
2015/06/11 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS