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 相关文章推荐
IE和FireFox(FF)中js和css的不同
Apr 13 Javascript
Javascript 类与静态类的实现
Apr 01 Javascript
javascript 数组学习资料收集
Apr 11 Javascript
IE之动态添加DOM节点触发window.resize事件
Jul 27 Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 Javascript
深入学习JavaScript中的Rest参数和参数默认值
Jul 28 Javascript
jQuery添加和删除指定标签的方法
Dec 16 Javascript
利用Javascript仿Excel的数据透视分析功能
Sep 07 Javascript
AngularJS 所有版本下载地址
Sep 14 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
Apr 20 Javascript
微信小程序实现页面跳转传值的方法
Oct 12 Javascript
Vue3 响应式侦听与计算的实现
Nov 11 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 $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
php中memcache 基本操作实例
2015/05/17 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
Add Formatted Text to a Word Document
2007/06/15 Javascript
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
2015/02/03 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
浅析Python 中整型对象存储的位置
2016/05/16 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
Python插件机制实现详解
2020/05/04 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
美国最大的烧烤架和户外生活用品专业零售商:Barbeques Galore
2021/01/09 全球购物
村级环境卫生整治方案
2014/05/04 职场文书
人代会标语
2014/06/30 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
客户付款通知书
2015/04/23 职场文书
领导欢送会主持词
2015/07/06 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
Pandas 稀疏数据结构的实现
2021/07/25 Python