js 中 document.createEvent的用法

 更新时间:2010年08月29日 23:22:02   作者:  
用该方法创建了 Event 对象以后,必须用上表中所示的初始化方法初始化对象。关于初始化方法的详细信息,请参阅 Event 对象参考。
<a class="comment-mod" onclick="alert('ss')" href="#">评论</a>
如果用户直接查看文章列表,那么所有的评论以及评论框都是不显示的,但是如果用户通过别的页面比如首页的个人动态直接定位到这篇日志,那么评论就应该全部显示。而列表页和查看单个条目的页面是同一个页面,这就要求我判断一下用户是否定位到该篇日志,如果是,就通过JS来触发 A 标签的点击事件。
一开始我尝试了一些方法,想当然地以为 A 标签和按钮一样是有 onclick() 事件的,结果发现没有,后来从网上搜了一些资料之后,成功解决了这个问题^_^ 。解决办法是针对 IE 和 FF编写不同的逻辑,部分代码如下:
复制代码 代码如下:

<script>
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);
}
</script>


语法:
createEvent(eventType)
参数
描述
eventType
想获取的 Event 对象的事件模块名。
关于有效的事件类型列表,请参阅"说明"部分。

返回值
返回新创建的 Event 对象,具有指定的类型。
抛出
如果实现支持需要的事件类型,该方法将抛出代码为 NOT_SUPPORTED_ERR 的 DOMException 异常。
说明
该方法将创建一种新的事件类型,该类型由参数 eventType 指定。注意,该参数的值不是要创建的事件接口的名称,而是定义那个接口的 DOM 模块的名称。
下表列出了 eventType 的合法值和每个值创建的事件接口:
参数
事件接口
初始化方法
HTMLEvents
HTMLEvent
iniEvent()
MouseEvents
MouseEvent
iniMouseEvent()
UIEvents
UIEvent
iniUIEvent()

用该方法创建了 Event 对象以后,必须用上表中所示的初始化方法初始化对象。关于初始化方法的详细信息,请参阅 Event 对象参考。
该方法实际上不是由 Document 接口定义的,而是由 DocumentEvent 接口定义的。如果一个实现支持 Event 模块,那么 Document 对象就会实现 DocumentEvent 接口并支持该方法。

相关文章

  • JavaScript入门教程之引用类型

    JavaScript入门教程之引用类型

    引用类型是一种数据结构,用于将数据和功能组织在一起。这篇文章主要介绍了JavaScript入门教程之引用类型的相关资料,需要的朋友一起学习吧
    2016-05-05
  • Javascript类型系统之String字符串类型详解

    Javascript类型系统之String字符串类型详解

    这篇文章主要介绍了Javascript类型系统之String字符串类型详解的相关资料,需要的朋友可以参考下
    2016-06-06
  • js中setTimeout的妙用--防止循环超时

    js中setTimeout的妙用--防止循环超时

    本文主要介绍了使用setTimeout实现防止循环超时的方法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • JavaScript 函数节流详解及方法总结

    JavaScript 函数节流详解及方法总结

    这篇文章主要介绍了JavaScript 函数节流详解及实例的相关资料,需要的朋友可以参考下
    2017-02-02
  • JavaScript获取页面中超链接数量的方法

    JavaScript获取页面中超链接数量的方法

    这篇文章主要介绍了JavaScript获取页面中超链接数量的方法,涉及JavaScript针对页面元素获取及运算的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 10 种最常见的 Javascript 错误(频率最高)

    10 种最常见的 Javascript 错误(频率最高)

    本文是小编给大家收藏的JavaScript 中频度最高的 10 种错误,我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生。需要的朋友参考下
    2018-02-02
  • 手动实现js短信验证码输入框

    手动实现js短信验证码输入框

    本文记录一下自己手动实现的一个前端常见的短信验证码输入组件,从需求到实现逐步优化的过程。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick

    javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick

    昨天群里面的朋友问了个比较有意思的问题,keydown,keyup,keypress事件的先后顺序。
    2009-02-02
  • 基于JavaScript实现继承机制之原型链(prototype chaining)的详解

    基于JavaScript实现继承机制之原型链(prototype chaining)的详解

    我们知道在JavaScript中定义类的原型方式,而原型链扩展了这种方式,以一种有趣的方式实现继承机制。prototype 对象是个模板,要实例化的对象都以这个模板为基础。总而言之,prototype 对象的任何属性和方法都被传递给那个类的所有实例。原型链利用这种功能来实现继承机制
    2013-05-05
  • 详细谈谈ES6中的symbol数据类型

    详细谈谈ES6中的symbol数据类型

    这篇文章主要给大家介绍了关于ES6中symbol数据类型的相关资料,Symbol函数的特性是每一个Symbol函数的返回值都是唯一的,可以通过给symbol函数传递不同的参数产生具有不同标记的值,需要的朋友可以参考下
    2021-08-08

最新评论