A的href和onclick

我们在制作网页的时候用得最多的就是 A 标签 超连接

但有时候需要在 A 里同时用到 href 和 onclick属性 下面我们先来分析一下 ,在不同的浏览器下有不同的效果

1 顺序 
ie 6 : href 先触发 onclick 后触发 
其他浏览器 先触发onlick 后触发 href

2 href="javascript: xxx()" 
不能传入this作为参数 
onclick可以 
<a href="javascript:alert(‘href event‘);" onclick="clickevent(this);">

3 优先触发的方法如果返回 false 导致后一个事件不被触发 
比如 
<a href="javascript:alert(‘href event‘);" onclick="clickevent(this); return false;">


<a href="#"> 会导致页面定位到书签位置,


由于 1和 4 的原因 
在ie6 下 同时有 <a href="#" 和 onclick的时候 由于页面先因为href重新载入了一次,导致 onclick事件被浏览器丢弃。

6 总结: 
1) 在不需要传递this作为方法的参数时候,推荐 
只使用href="JavaScript: "

2) 如果需要使用this参数,推荐 
<a href="javascript:void(0);" onclick="doSomthing(this)" >

如下面一个列子。

我们需要A在第一次和第二次点击的时候 访问 href 第3次以后的就访问另一个地址

var href=0

function clicka(obj)
{
 if (href==2)
 {
  obj.href="http://www.86p.com/?qc";
 }else
 {
  href++;
 }
 return true;
 
}

<a href="http://www.fxxz.com/" target=_blank id="showa" onclick="clicka(this)">  开屏高速下载 </a>

时间: 2024-10-16 10:28:09

A的href和onclick的相关文章

&lt;a&gt;标签的href和onclick属性【转】

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

IE6下A标签href和onclick同时存在时的问题

请求的链接是用的 A 标签,A上同时写了href和 A 标签而言,当用户鼠标单击的时候,A对象被触发时会首先去执行 请求.瞬时又执行href,这时ie6就会abort前一个请求. 解决方法就是:直接把onclick事件写在href中:href="javascript:do()" 还有一种解决方案:<a href="javascript:void(0)" false;">Test</a> 这样是忽略了href部分,这对于通过oncli

Html A标签中 href 和 onclick 同时使用的问题 优先级别

我们在制作网页的时候用得最多的就是 A 标签 超连接 但有时候需要在 A 里同时用到 href 和 onclick属性 下面我们先来分析一下 ,在不同的浏览器下有不同的效果 1 顺序 ie 6 : href 先触发 onclick 后触发 其他浏览器 先触发onlick 后触发 href 2 href="javascript: xxx()" 不能传入this作为参数 onclick可以 <a href="javascript:alert('href event');&q

a标签的href和onclick

1.链接的onclick事件被先执行,href的事件后执行 2.就今天遇到的问题说一下,通过a标签的onclick事件实现点击后定位到指定的div,或者是执行其他函数(比如弹出artdialog等),页面如果有滚动条,那么页面的滚动条都会首先置顶,这样会引起不必要的页面跳动. 所以,推荐的使用方法是<a href="javascript:void(0);" onclick="myFun();">测试</a>或者<a href="

a标签的href与onclick中使用js的区别 《转》

href与onclick中javascript的区别一般没用到都没注意,但出错时才有些郁闷,看文本章解释如下: 以前一直很随意,后来看.net里的linkbutton似乎是用在<a href="javascript:fun();"...>的形式,今天用这种方式就遇到一些问题,摘网友的文章和我的结论放在下面: 链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接): 假设链接中同时存在 href 与 onclick,

[转载]标签a的href和onclick

转载自:http://gocom.primeton.com/blog21307_27051.htm 我以前在写<A>的href和onclick一直很随意,后来出过几次问题,以后才开始重视这个问题: 在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. void 操作符用法格式如下:  1. javascript:void (expression)  2. javascript:void expression expression 是一个要计算的 Javasc

Html A标签中 href 和 onclick用法、区别、优先级别

原文:Html A标签中 href 和 onclick用法.区别.优先级别 如果不设置 href属性在IE6下面会不响应hover.双击后会选中标签的父容器而非这个一a标签(IE下都存在这一问题).  代码如下 复制代码 <a href="javascirpt:fn(this)"> <a onclick="fn(this)"> 假定我们有个fn方法,需要取到这个元素,第一个方法传入的this是空值. 所以,比较推荐的写法是  代码如下 复制代

超链接a标签的href与onclick中使用javascript的区别

onclick中javascript的区别一般没用到都没注意,但出错时才有些郁闷,看文本章解释如下: 以前一直很随意,后来看.net里的linkbutton似乎是用在<a href="javascript:fun();"...>的形式,今天用这种方式就遇到一些问题,摘网友的文章和我的结论放在下面: 1.链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接): 2.假设链接中同时存在 href 与 onclick,如

&lt;a&gt;标签的href 与 onclick 使用

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