js 中 document.createEvent的用法


Posted in Javascript onAugust 29, 2010

<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 相关文章推荐
DOM相关内容速查手册
Feb 07 Javascript
js 键盘记录实现(兼容FireFox和IE)
Feb 07 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
详解Javascript继承的实现
Mar 25 Javascript
Javascript HTML5 Canvas实现的一个画板
Apr 12 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
May 30 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
Nov 18 Javascript
jquery点击展示与隐藏更多内容
Dec 03 Javascript
基于JS脚本语言的基础语法详解
Jul 22 Javascript
在vue-cli中组件通信的方法
Dec 16 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
Feb 21 Javascript
JQuery浮动DIV提示信息并自动隐藏的代码
Aug 29 #Javascript
jQuery下的几个你可能没用过的功能
Aug 29 #Javascript
基于jquery的一个浮动框(扩展性比较好 )
Aug 27 #Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
Aug 27 #Javascript
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 #Javascript
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
Aug 27 #Javascript
jquery 插件开发备注
Aug 27 #Javascript
You might like
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
nodejs读取memcache示例分享
2014/01/02 NodeJs
NodeJS中Buffer模块详解
2015/01/07 NodeJs
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
Python Charles抓包配置实现流程图解
2020/09/29 Python
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
唤醒头发毛囊的秘密武器:Grow Gorgeous
2016/08/28 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
初入社会应届生求职信
2013/11/18 职场文书
酒店总经理助理岗位职责
2014/02/01 职场文书
美术指导求职信
2014/03/17 职场文书
农村葬礼主持词
2014/03/31 职场文书
医院院务公开实施方案
2014/05/03 职场文书
工地材料员岗位职责
2015/04/11 职场文书
孟佩杰观后感
2015/06/17 职场文书
孙振耀退休感言
2015/08/01 职场文书
如何用python插入独创性声明
2021/03/31 Python