在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 相关文章推荐
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
Apr 01 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
jQuery $.extend()用法总结
Jun 15 Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 Javascript
浅谈document.write()输出样式
May 07 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
Oct 16 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
May 18 Javascript
jQuery.uploadify文件上传组件实例讲解
Sep 23 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
用Vue.extend构建消息提示组件的方法实例
Aug 08 Javascript
babel的使用及安装配置教程
Feb 22 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
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
php与php MySQL 之间的关系
2009/07/17 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
php MessagePack介绍
2013/10/06 PHP
PHP实现文件下载详解
2014/11/27 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
JScript中的undefined和"undefined"的区别
2007/03/08 Javascript
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
2007/07/11 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
Python最基本的输入输出详解
2015/04/25 Python
python实现按行切分文本文件的方法
2016/04/18 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
Python实现石头剪刀布游戏
2021/01/20 Python
甲方资料员岗位职责
2013/12/13 职场文书
战略合作意向书范本
2014/04/01 职场文书
团日活动总结书
2014/05/08 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
店面出租协议书范本
2014/11/28 职场文书
辞职信标准格式
2015/02/27 职场文书
金砖之国观后感
2015/06/11 职场文书
Go使用协程交替打印字符
2021/04/29 Golang
Python利用folium实现地图可视化
2021/05/23 Python