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输出列表实现代码
Sep 12 Javascript
深入解析JavaScript中的变量作用域
Dec 06 Javascript
Js+Jq获取URL参数的集中方法示例代码
May 20 Javascript
js闭包实例汇总
Nov 09 Javascript
JavaScript中String.prototype用法实例
May 20 Javascript
Bootstrap3 datetimepicker控件使用实例
Dec 13 Javascript
jQuery实现点击关注和取消功能
Jul 03 jQuery
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
5分钟快速掌握JS中var、let和const的异同
Sep 19 Javascript
Vue 配合eiement动态路由,权限验证的方法
Sep 26 Javascript
JS三级联动代码格式实例详解
Dec 30 Javascript
JS前端轻量fabric.js系列物体基类
Aug 05 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冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
JavaScript访问样式表代码
2010/10/15 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
jquery操作select方法汇总
2015/02/05 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
列举Python中吸引人的一些特性
2015/04/09 Python
python使用mysql数据库示例代码
2017/05/21 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
python之Character string(实例讲解)
2017/09/25 Python
详解python eval函数的妙用
2017/11/16 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
Python自动抢红包教程详解
2019/06/11 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
python 基于opencv去除图片阴影
2021/01/26 Python
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
介绍一下linux的文件权限
2014/07/20 面试题
50道外企软件测试面试题
2014/08/18 面试题
材料加工工程求职信
2014/02/19 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
运动会演讲稿100字
2014/08/25 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
2015年宣传思想工作总结
2015/05/22 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
Nginx进程调度问题详解
2021/09/25 Servers