JS 中觸發 A 標簽的點擊事件


http://www.aspxhome.com/javascript/skills/20091/677011.htm

JS 中觸發 A 標簽的點擊事件

2009-1-11 作者: Dreamer 來源: Dreamer博客 網友評論 2條  投遞文章
更多分享0

問題:有一個列表,每一個條目都是這篇文章的部分內容,類似這樣:

<div class="list"> 
  
<div class ="item"> 
第一篇文章 
</div> 
  
<div class ="item"> 
第二篇文章 
</div> 
..... 
</div>

而且在每個條目的div的右上角都有一個“評論”鏈接,點擊就會展開所有的評論,並且顯示評論框,這個鏈接的形式如下:

 <a class="comment-mod" href="#">評論</a> 

如果用戶直接查看文章列表,那么所有的評論以及評論框都是不顯示的,但是如果用戶通過別的頁面比如首頁的個人動態直接定位到這篇日志,那么評論就應該全部顯示。而列表頁和查看單個條目的頁面是同一個頁面,這就要求我判斷一下用戶是否定位到該篇日志,如果是,就通過JS來觸發 A 標簽的點擊事件。

一開始我嘗試了一些方法,想當然地以為 A 標簽和按鈕一樣是有 onclick() 事件的,結果發現沒有,后來從網上搜了一些資料之后,成功解決了這個問題^_^ 。解決辦法是針對 IE 和 FF編寫不同的邏輯,部分代碼如下:

 

var comment = document.getElementsByTagName('a')[0]; 
  
if (document.all) { 
 // For IE  
  
comment.click(); 
} else if (document.createEvent) { 
   //FOR DOM2 
  
var ev = document.createEvent('HTMLEvents'); 
 ev.initEvent('click', false, true); 
 comment.dispatchEvent(ev); 

上面的代碼在IE6, IE7 和 FireFox 3 下通過測試。

一點學習心得,記錄在此。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM