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实现文本框鼠标右击无效以及不能输入的代码
Nov 05 Javascript
第一次接触神奇的Bootstrap基础排版
Jul 26 Javascript
AngularJS自定义控件实例详解
Dec 13 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
AngularJs 终极购物车(实例讲解)
Nov 08 Javascript
JavaScript实现简单动态进度条效果
Apr 06 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
Apr 21 Javascript
vue计算属性get和set用法示例
Feb 08 Javascript
Angular之jwt令牌身份验证的实现
Feb 14 Javascript
JS实现拖拽元素时与另一元素碰撞检测
Aug 27 Javascript
vue使用video插件vue-video-player详解
Oct 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里面的抽象类
2010/01/28 PHP
php实现通过ftp上传文件
2015/06/19 PHP
Java中final关键字详解
2015/08/10 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
Jquery Ajax请求代码(2)
2011/01/07 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
JS获取select的value和text值的简单实例
2014/02/26 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
python获取交互式ssh shell的方法
2019/02/14 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
三个儿子教学反思
2014/02/03 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
小学六年级毕业感言
2015/07/30 职场文书
六五普法心得体会2016
2016/01/21 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js