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 相关文章推荐
浅析hasOwnProperty方法的应用
Nov 20 Javascript
JS获取url链接字符串 location.href
Dec 23 Javascript
JavaScript中switch语句的用法详解
Jun 03 Javascript
JavaScript识别网页关键字并进行描红的方法
Nov 09 Javascript
javascript获取系统当前时间的方法
Nov 19 Javascript
关于webpack代码拆分的解析
Jul 20 Javascript
ES7中利用Await减少回调嵌套的方法详解
Nov 01 Javascript
详解puppeteer使用代理
Dec 27 Javascript
JavaScript中关于base64的一些事
May 06 Javascript
JS FormData对象使用方法实例详解
Feb 12 Javascript
JavaScript中的this基本问题实例小结
Mar 09 Javascript
实例分析javascript中的异步
Jun 02 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
php ajax 静态分页过程形式
2011/09/02 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
Jquery常用技巧收集整理篇
2010/11/14 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
浅谈Python的文件类型
2016/05/30 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
电台编导求职信
2014/05/06 职场文书
新生入学欢迎词
2015/01/26 职场文书
辩护词范文大全
2015/05/21 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android