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版Tab标签切换
Mar 16 Javascript
js 判断checkbox是否选中的操作方法
Nov 09 Javascript
异步动态加载js与css文件的js代码
Sep 15 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
Jan 09 Javascript
基于JavaScript实现TAB标签效果
Jan 12 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 Javascript
jQuery插件zTree实现删除树子节点的方法示例
Mar 08 Javascript
layui之select的option叠加问题的解决方法
Mar 08 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
了解javascript中的Dom操作
May 27 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
Jul 29 Javascript
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 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的博客ping服务代码
2012/02/04 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Python中有几个关键字
2020/06/04 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
简单说说tomcat的配置
2013/05/28 面试题
Hibernate持久层技术
2013/12/16 面试题
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
工商企业管理实习自我鉴定
2013/12/04 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
单位单身证明样本
2014/10/11 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书