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 相关文章推荐
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
Sep 28 Javascript
EasyUI中的tree用法介绍
Nov 01 Javascript
不使用jquery实现js打字效果示例分享
Jan 19 Javascript
9款2014最热门jQuery实用特效推荐
Dec 07 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
Mar 13 Javascript
深入理解JavaScript中的for循环
Feb 07 Javascript
vue cli webpack中使用sass的方法
Feb 24 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
Nov 08 Javascript
javascriptvoid(0)含义以及与&quot;#&quot;的区别讲解
Jan 19 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
vue实现列表拖拽排序的示例代码
Apr 08 Vue.js
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
生成静态页面的php函数,php爱好者站推荐
2007/03/19 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
vue-lazyload使用总结(推荐)
2018/11/01 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
Vue父组件向子组件传值以及data和props的区别详解
2020/03/02 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
Python判断变量是否已经定义的方法
2014/08/18 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
小学英语教学反思案例
2014/02/04 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
倡议书作文
2015/01/19 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python