在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 相关文章推荐
javascript简单实现滑动菜单效果的方法
Jul 27 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
Nov 29 Javascript
微信小程序-消息提示框实例
Nov 24 Javascript
vue 粒子特效的示例代码
Sep 19 Javascript
vue router demo详解
Oct 13 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
详解Vue-Router源码分析路由实现原理
May 15 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
layer.js之回调销毁对话框的例子
Sep 11 Javascript
vue下axios拦截器token刷新机制的实例代码
Jan 17 Javascript
vue.js封装switch开关组件的操作
Oct 26 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
1 Tube Radio
2021/03/02 无线电
一个简洁的多级别论坛
2006/10/09 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
php组合排序简单实现方法
2016/10/15 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
Javascript 按位与赋值运算符 (&=)使用介绍
2014/02/04 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
javascript简单实现滑动菜单效果的方法
2015/07/27 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[01:00:04]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第二局
2016/02/26 DOTA
Python使用plotly绘制数据图表的方法
2017/07/18 Python
python实现扫描日志关键字的示例
2018/04/28 Python
python实现关键词提取的示例讲解
2018/04/28 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
公立医院改革实施方案
2014/03/14 职场文书
购房协议书范本
2014/04/11 职场文书
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
idea下配置tomcat避坑详解
2022/04/12 Servers
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js