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+ajax实现鼠标单击修改内容的方法
Jun 27 Javascript
Jquery中$.post和$.ajax的用法小结
Apr 28 Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 Javascript
JavaScript中splice与slice的区别
May 09 Javascript
Angularjs cookie 操作实例详解
Sep 27 Javascript
react 创建单例组件的方法
Apr 26 Javascript
详解Webpack loader 之 file-loader
Nov 07 Javascript
Vuex中的State使用介绍
Jan 19 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 Javascript
详解vue 组件注册
Nov 20 Vue.js
微信小程序实现下拉加载更多商品
Dec 29 Javascript
vue el-table实现递归嵌套的示例代码
Aug 14 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设计模式 Adapter(适配器模式)
2011/06/26 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
2016/06/13 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
基于jQuery的表格操作插件
2010/04/22 Javascript
js中符号转意问题示例探讨
2013/08/19 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
JS生成随机打乱数组的方法示例
2017/12/23 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
Python多进程编程技术实例分析
2014/09/16 Python
Python常用库推荐
2016/12/04 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
实习生自我鉴定范文
2013/12/05 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
七一讲话心得体会
2014/09/05 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
六查六看心得体会
2014/10/14 职场文书
2015幼儿园庆元旦活动方案
2014/12/09 职场文书
写景作文评语集锦
2014/12/25 职场文书
python 实现的截屏工具
2021/05/08 Python
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
vue3获取当前路由地址
2022/02/18 Vue.js