`

js 中 document.createEvent的用法-转载

阅读更多

<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 接口并支持该方法。

分享到:
评论

相关推荐

    js 中 document.createEvent的用法

    用该方法创建了 Event 对象以后,必须用上表中所示的初始化方法初始化对象。关于初始化方法的详细信息,请参阅 Event 对象参考。

    JS的document_详细介绍及用法

    JS的document_详细介绍及用法,从菜鸟到高手的过程是艰辛的,你渴望救助。这本教程就是你无言的助手,默默的帮你到永远。 带奋斗一起飞翔,因为有了它,让我拥有理智之思;我才使过去的失误不再重演到今天的影片里;...

    JavaScript中的模拟事件和自定义事件实例分析

    可以在document对象上使用createEvent()方法创建event对象,此方法接收一个参数,即要创建的事件类型的字符串。在DOM2级中这些字符串都使用英文复数形式,而在DOM3级中都变成了单数。这个字符串可以是以下几个字符串...

    JavaScript权威指南

    JavaScript权威指南 犀牛书 Chapter 1. Introduction to JavaScript Section 1.1. JavaScript Myths Section 1.2. Versions of JavaScript Section 1.3. Client-Side JavaScript Section 1.4. JavaScript ...

    线程中CreateEvent和SetEvent及WaitForSingleObject的用法

    线程中CreateEvent和SetEvent及WaitForSingleObject的用法

    微博机器人脚本

    微博机器人脚本,通过document.createEvent模拟鼠标点击

    百度翻译源码java-2017-notes:2017-笔记

    百度翻译源码java ...document.createEvent('kaiyu'); //属性 innerText, innerHTML,checked(true|false ""|"checked"),title, value, src, href, contentEditable //DOM元素API参考,包括属性和方法 ...

    java版商城源码下载-FE-summarize:FE降价

    java版商城源码下载 ...document.createEvent('kaiyu'); //属性 innerText, innerHTML,checked(true|false ""|"checked"),title, value, src, href, contentEditable //DOM元素API参考,包括属性和方法 ...

    java版商城源码下载-HTML5Course20170717:HTML5课程20170717

    java版商城源码下载 ...document.createEvent('kaiyu'); //属性 innerText, innerHTML,checked(true|false ""|"checked"),title, value, src, href, contentEditable //DOM元素API参考,包括属性和方法 ...

    IE和火狐中模仿Click事件及提交到新窗口总结(asp.net)

    先看一下模拟click事件的代码: 代码如下: &lt;a&gt;... } else { //火狐,如果中没有定义onclick事件,则本段对火狐不起作用 var ev = document.createEvent(“MouseEvents”); ev.initEvent(“click”, true, true); docu

    jQuery解决浏览器兼容性问题案例分析

    本文实例分析了jQuery解决浏览器兼容性问题的方法。分享给大家供大家参考,具体如下: ...var evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, true); document.getElementById("imgLogin

    javascript 触发HTML元素绑定的函数

    代码如下:if (document.createEvent) { var clickEvent = document.createEvent(“MouseEvents”); clickEvent.initEvent(“click”, false, true); this.fileEl.dom.dispatchEvent(clickEvent);//ff } else if ...

    JS 按钮点击触发(兼容IE、火狐)

    代码如下:function clickButton(id) { if (document.all) { document.... } else { var evt = document.createEvent(“MouseEvents”); evt.initEvent(“click”, true, true); document.getElementById(id

    javascript 主动派发事件总结

    如下 代码如下: var evt = document.createEvent(‘Event’); evt.initEvent(‘click’,true,true); element.dispatchEvent(evt); 2,fireEvent() 这是IE旧版本中实现的触发事件方法,它无须创建事件对象,直接使用...

    js事件触发操作实例分析

    本文实例讲述了js事件触发操作。分享给大家供大家参考,具体如下: click包含了(mousedown,mouseup)叫做MouseEvents; keydown,keypress,keyup之流叫做UIEvents; focus,load,scroll,submit之流叫做HtmlEvents。 ...

    JavaScript”模拟事件”的注意要点详解

    首先通过document.createEvent()方法创建event对象,接收一个参数,即表示要创建的事件类型的字符串: UIEvents(DOM3中的UIEvent)鼠标和键盘事件; MouseEvents(DOM3中的MouseEvent)鼠标事件; Mutation...

    代码触发js事件(click、change)示例应用

    Chrome , Firfox 不支持fireEvent的方法 可以使用dispatchEvent的方法替代, 直接给一个兼容的Code. 触发click 事件 代码如下: function simulateClick(el) { var evt; if (document.createEvent) { // DOM Level 2 ...

    Gesture:Gesture.js统一了移动和桌面浏览器中的指针和手势输入。 该代码来自ViniSketch工具包,并受到Borismus的Pointer.js的影响

    我们尝试最小化使用“ createEvent”方法的使用,该方法会创建具有复杂情况的错误 它支持IE10(指针和手势) 该库可在w8-IE10,Chrome,Safari,FireFox,Android股票浏览器,Android Chrome,Android FireFox,...

    base2:从 code.google.compbase2 自动导出

    它始终使用标准(DOM、ECMAScript)属性和方法,这也意味着不需要大量随附的文档。 base2 是一个轻量级的库,它消除了 JavaScript 实现中所有恼人的差异。 它提供了 JavaScript 1.6+ 中只有 Mozilla 浏览器才能实现...

Global site tag (gtag.js) - Google Analytics