我们常用的在a标签中有点击事件

我们常用的在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;"

时间: 2024-08-13 10:57:35

我们常用的在a标签中有点击事件的相关文章

WebView 实现JS效果和a标签的点击事件

目前很多android app都可以显示web页面的界面,嵌入式开发,这个界面一般都是WebView这个控件加载出来的,学习该控件可以为你的app开发提升扩展性. 先说下WebView的一些优点: 可以直接显示和渲染web页面,直接显示网页 webview可以直接用html文件(网络上或本地assets中)作布局 和JavaScript交互调用 网页标签的点击事件 效果:(网页顶部是JS效果滚动,4个模块可以实现点击事件,可看到信息提示) activity_main.xml <RelativeL

a 标签中加 onclick事件,根据事件中的校验情况来决定是否执行a标签的链接

a 标签中加 onclick方法后,先执行onclick方法,在去执行a标签href下属性对应的动作,如果不想执行href属性下动作需要用false作为返回值. <a href="http://www.cnblogs.com/qisel/" onclick="method();return false;">点击</a> 1.上面不管href属性动作是什么都不会执行. 2.下面的就是可以通过JS校验后,根据返回true或false来判断是否执行

html——a标签添加点击事件,火狐浏览器直接显示0

一.问题描述 给一个a标签添加了点击事件,页面直接给了0如下图 二.问题解决 后台调试模式下,发现也进了后台方法,也返回了页面. 于是想到先把页面里大部分内容去掉,去掉所有js,查看是否是部分代码有问题,这样做后,发现js完全去掉,只保留点击事件,效果也还是这样. 但是有几点奇怪的地方: 1.进了后台方法,还没执行完,页面就变成0了 2.无论将页面中什么元素去掉,这个效果都不变 3.看浏览器调试器,发现请求根本没有响应信息 但是页面已经显示了0,开始以为ajax请求有问题,但是重写了也依然如此.

html A标签 绑定点击事件。跳转页面。处理

在平时的页面中,肯定有需要点击A标签 进行处理. 这时候习惯性的绑定一个点击事件进行数据处理. 在A标签中 herf="#" 然后绑定一个点击事件. 或者在A标签里面的元素里面有一个点击事件 . 当点击这个i图标的时候,他会默认跳走.会默认跳转到你项目根目录的index页面. 这个时候需要在 i 绑定的点击事件中把a跳转链接取消,禁用都可以. 注意:function 后面一定要把写e进来 . 或者写的时候直接写 <a href="javascript:void(0);

HTML中在a标签中添加onclick事件

1.链接的onclick 事件被先执行,其次是href属性下的动作; 2.假设链接中同时存在href 与onclick,如果想让href 属性下的动作不执行,onclick 必须得到一个false的返回值; 3.如果页面过长有滚动条,且希望通过链接的 onclick 事件执行操作.应将它的 href 属性设为 javascript:void(0);,而不要是 #,这可以防止不必要的页面跳动; 4.如果在链接的 href属性中调用一个有返回值的函数,当前页面的内容将被此函数的返回值代替; 在Jav

jquery中对于为一组标签赋予点击事件

可以用each,但是each不能对动态的元素进行事件的绑定, 不过,其实也很简单,只需要获取所有的标签集,然后用动态绑定的方法,比如live进行绑定就可以了. 有时候,其实不难,只是自己想的太过复杂. 除此之外,对于已经绑定单击事件的元素,再绑定双击事件,会使得双击事件失效. 可以用以下方法进行解决: var $timer =null; $(".add_val").live('click',function(){ //增加属性值: var aaa=$(this); var val =

jQuery触发&lt;a&gt;标签的点击事件无效

1 <a id="workFrame" href="pages/work.html" target="FrameBox">首页</a> 2 3 $("#workFrame").tigger("click"); 上述的代码,其实挺正常的,但是怎么也触发不了a标签的click事件.百度一下,解决方案如下 1 <a id="workFrame" href=&quo

js新添加的标签,点击事件无效的原因和解决办法

对于新添加的标签应用如下写法会失效: $('.class').on("click",function(){--});相当于: $('.class').bind("click",function(){--});下边的方法会生效: $(document).on("click",'.class',function(){--});相当于: $('.class').live("click",function(){--});新版本的jqu

怎样在a标签上加点击事件,实现页面跳转,并在目标页面内显示出某个隐藏的div?

target伪类实现下面效果,缺点只有IE9及以上支持 主页面: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>target伪类</title> </head> <body> <a href="