当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript触发A标记的点击事件

Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
ExtJS 2.0 实用简明教程之布局概述
ExtJS 2.0实用简明教程之应用ExtJS
ExtJS 2.0实用简明教程 之获得ExtJS
javascript 扫雷游戏
ExtJS 2.2.1的grid控件在ie6中的显示问题
jquery-1.2.6得到焦点与失去焦点的写法
一组JS创建和操作表格的函数集合
extjs fckeditor集成代码
jquery 实现京东商城、凡客商城的图片放大效果
jQuery 技巧大全(新手入门篇)
JavaScript设置FieldSet展开与收缩
event.keyCode键码值表 附只能输入特定的字符串代码
js 图片缩放特效代码
jquery(1.3.2) 高亮选中图片边框
js 使用方法与函数 总结
Js 本页面传值实现代码
javascript获取div的内容 精华篇
innerText innerHTML的用法以及注意事项 [推荐]
jquery 圆角遮罩图片实现图片圆角

Javascript触发A标记的点击事件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 283 ::
收藏到网摘: n/a

问题:有一个列表,每一个条目都是这篇文章的部分内容,类似这样:

1
2
3
4
5
6
7
8
9
10
11
12
 
<div class="list">
 
<div class ="item">
第一篇文章
</div>
 
<div class ="item">
第二篇文章
</div>
.....
</div>

而且在每个条目的div的右上角都有一个“评论”链接,点击就会展开所有的评论,并且显示评论框,这个链接的形式如下:

1
<a class="comment-mod" href="#">评论</a>

如果用户直接查看文章列表,那么所有的评论以及评论框都是不显示的,但是如果用户通过别的页面比如首页的个人动态直接定位到这篇日志,那么评论就应该全部显示。而列表页和查看单个条目的页面是同一个页面,这就要求我判断一下用户是否定位到该篇日志,如果是,就通过JS来触发 A 标签的点击事件。

一开始我尝试了一些方法,想当然地以为 A 标签和按钮一样是有 onclick() 事件的,结果发现没有,后来从网上搜了一些资料之后,成功解决了这个问题^_^ 。解决办法是针对 IE 和 FF编写不同的逻辑,部分代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
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 下通过测试。

一点学习心得,记录在此。

参考资料:http://ued.koubei.com/?p=400