var


 comment =


 document.getElementsByTagName


(


'a'


)


[


0]


;



 
if


 (


document.all


)


 {



// For IE 






 



comment.click


(


)


;
}


 else


 if


 (


document.createEvent


)


 {



//FOR DOM2






 
var


 ev =


 document.createEvent


(


'MouseEvents'


)


;



 ev.initEvent


(


'click'


,


 false


,


 true


)


;



 comment.dispatchEvent


(


ev)


;
}

上面的代码在IE6, IE7 和 FireFox 3 下通过测试。

 

 

 

 

 

 

 

 

 

 

 

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

2 href="javascript: xxx()" 
不能传入this作为参数 
onclick可以 

<a href="javascript:alert('href event');" οnclick="clickevent(this);">



3 优先触发的方法如果返回 false 导致后一个事件不被触发 
比如 

<a href="javascript:alert('href event');" οnclick="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);" οnclick="doSomthing(this)" >
 
 
 
 
 
 
 
//用jquery
$('#sdfgsd').click();