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 相关文章推荐
js CSS操作方法集合
Oct 31 Javascript
jquery 上下滚动广告
Jun 17 Javascript
javascript Array对象基础知识小结
Nov 16 Javascript
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 Javascript
javascript文件中引用依赖的js文件的方法
Mar 17 Javascript
bootstrap多种样式进度条展示
Dec 20 Javascript
jquery拼接ajax 的json和字符串拼接的方法
Mar 11 Javascript
JS实现对json对象排序并删除id相同项功能示例
Apr 18 Javascript
深入理解react-router 路由的实现原理
Sep 26 Javascript
微信小程序自定义toast的实现代码
Nov 16 Javascript
利用原生JS实现欢乐水果机小游戏
Apr 23 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
PHP中SESSION使用中的一点经验总结
2012/03/30 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
python生成ppt的方法
2018/06/07 Python
pandas ix &amp;iloc &amp;loc的区别
2019/01/10 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
django迁移数据库错误问题解决
2019/07/29 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
商学院大学生求职的自我评价
2014/03/12 职场文书
文艺晚会主持词
2014/03/24 职场文书
初中生操行评语大全
2014/04/24 职场文书
关于晚自习早退的检讨书
2014/09/13 职场文书
简单租房协议书
2014/10/21 职场文书
委托培训协议书
2014/11/17 职场文书
电影圆明园观后感
2015/06/03 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
如何正确理解python装饰器
2021/06/15 Python
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android
Consul在linux环境的集群部署
2022/04/08 Servers
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android