151-3895-5886

JS触发A标签的点击事件

2019年09月10日 维尼网络

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

<div class="list"><div class="item">第一篇新闻</div><div class="item">第二篇新闻</div>.....</div>

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

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

如果用户直接查看新闻列表,那么所有的评论以及评论框都是不显示的,但是如果用户通过别的页面比如首页的个人动态直接定位到这篇log,那么评论就需要全部显示。而栏目页和查看单个条目的页面是同一个页面,这就要求我判断一下用户是否定位到该篇log,如果是,就通过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('MouseEvents'); ev.initEvent('click', false, true); comment.dispatchEvent(ev);}

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

UPDATE: 测试的时候发现代码在FireFox 2下不好使,仔细检查之后发现了问题,把 document.createEvent(’HTMLEvents’) 改成 document.createEvent(’MouseEvents‘);就好了。(刚写完的时候唯独没有测试FireFox 2,结果还真是有问题,看来那句话说的对:如果你觉得可能会出问题,那就一定会出问题。

参考新闻:表单Form的submit事件不响应

阅读更多内容
上一篇Javascript代码:校验身份证号程序
下一篇把Javascript代码放到body结束之上

声明:本页内容由郑州维尼网络收集编辑所得,所有资料仅供用户参考,转载请保留此链接http://www.zzwn.cn/cms/1560.html

本文标签: 标签 点击 事件 触发

 

相关资讯 Related Info
相关分类 News Classification
解决方案 Solutions
相关热点 Hot spot
使用ASP.NET2.0的ReportViewer查看RDLC报表 使用ASP.NET2.0的ReportViewer查看RDLC报表
  1. 我们的承诺
  2. 我们的实力
  3. 我们的未来
郑州做网站咨询电话 建站咨询

151-3895-5886

网站备案安全放心网站

地址:郑州市上街区和昌都汇广场 / 电话:151-3895-5886
客服QQ: 7758021 / 邮箱:admin@zzwn.cn
Copyright © 2010-2019 郑州融科网络 版权所有