zoukankan      html  css  js  c++  java
  • 【转】javascript 点击 <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 下通过测试。

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

  • 相关阅读:
    LeetCode 8 有效的括号
    String源码学习
    LeetCode 7最长公共前缀
    LeetCode 5回文数
    LeetCode 6罗马数字转整数
    LeetCode 4.反转整数
    LeetCode 3.无重复字符的最长子串
    区分子串和子序列
    LeetCode 1.两数之和
    一个十分好用的动画工具:Velocity.js
  • 原文地址:https://www.cnblogs.com/xiangniu/p/2423205.html
Copyright © 2011-2022 走看看