javascript 主动派发事件总结


Posted in Javascript onAugust 09, 2011

1,dispatchEvent()
这是标准的触发事件方法,使用时需要先创建好事件对象。如下

var evt = document.createEvent('Event'); 
evt.initEvent('click',true,true); 
element.dispatchEvent(evt);

2,fireEvent()
这是IE旧版本中实现的触发事件方法,它无须创建事件对象,直接使用。如下
element.fireEvent('onclick');

注意:与attachEvent一样它需要加上“on”
一个兼容性所有浏览器的版本,如下
var dispatch = window.addEventListener ? 
function(el, type){ 
try{ 
var evt = document.createEvent('Event'); 
evt.initEvent(type,true,true); 
el.dispatchEvent(evt); 
}catch(e){alert(e)}; 
} : 
function(el, type){ 
try{ 
el.fireEvent('on'+type); 
}catch(e){alert(e)} 
};

上面封装的是一个触发事件的通用方法,即可以触发各种事件。浏览器还提供了特定方法来触发单独的事件。
4,click()
用来模拟用户点击,除Safari/Chrome不支持非input/button外,其它浏览器都支持。
5,form.submit()
模拟form提交,相对于点击input[type=submit]
6,input/textarea.select()
模拟用户选定文本。
7,focus()
模拟获取光标焦点
8,blur()
模拟失去光标焦点
9,input/textarea/select.change()
模拟文本或选项发生变化
10,自定义事件的派发实际就是获取该函数,然后调用

相关:
https://developer.mozilla.org/En/DOM/Element.dispatchEvent
http://msdn.microsoft.com/en-us/library/ms536423%28v=VS.85%29.aspx
https://developer.mozilla.org/en/DOM/Input.select 

Javascript 相关文章推荐
juqery 学习之五 文档处理 插入
Feb 11 Javascript
Javascript 遍历页面text控件详解
Jan 06 Javascript
使用JavaScript+canvas实现图片裁剪
Jan 30 Javascript
AngularJs解决跨域问题案例详解(简单方法)
May 19 Javascript
Bootstrap CSS布局之列表
Dec 15 Javascript
基于js中this和event 的区别(详解)
Oct 24 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
Dec 06 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
nodemon实现Typescript项目热更新的示例代码
Nov 19 Javascript
基于JavaScript获取url参数2种方法
Apr 17 Javascript
JS猜数字游戏实例讲解
Jun 30 Javascript
Antd表格滚动 宽度自适应 不换行的实例
Oct 27 Javascript
JsDom 编程小结
Aug 09 #Javascript
IE 当eval遇上function的处理
Aug 09 #Javascript
取得窗口大小 兼容所有浏览器的js代码
Aug 09 #Javascript
Javascript实现的类似Google的Div拖动效果代码
Aug 09 #Javascript
基于Jquery的文字自动截取(提供源代码)
Aug 09 #Javascript
JQuery动态创建DOM、表单元素的实现代码
Aug 09 #Javascript
用JS判断IE版本的代码 超管用!
Aug 09 #Javascript
You might like
DC动漫人物排行
2020/03/03 欧美动漫
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
Javascript 自定义类型方法小结
2010/03/02 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
纯css+js写的一个简单的tab标签页带样式
2014/01/28 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
Python创建模块及模块导入的方法
2015/05/27 Python
详细介绍Python的鸭子类型
2016/09/12 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
python定时任务 sched模块用法实例
2019/11/04 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
写演讲稿要注意的六件事
2014/01/14 职场文书
留学推荐信写作指南
2014/01/25 职场文书
乐观自信演讲稿范文
2014/05/21 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
公司管理制度范本
2015/08/03 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书