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 相关文章推荐
jquery制作居中遮罩层效果分享
Feb 21 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
Jquery 实现图片轮换
Jan 28 Javascript
JavaScript中字面量与函数的基本使用知识
Oct 20 Javascript
详解JavaScript正则表达式之RegExp对象
Dec 13 Javascript
基于AngularJS实现iOS8自带的计算器
Sep 12 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
Mar 10 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
解决vue中对象属性改变视图不更新的问题
Feb 23 Javascript
jquery的$().each和$.each的区别
Jan 18 jQuery
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
Jan 24 Javascript
jquery实现图片放大镜效果
Dec 23 jQuery
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
JS 分号引起的一段调试问题
2009/06/18 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
python在控制台输出进度条的方法
2015/06/20 Python
Python Requests安装与简单运用
2016/04/07 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
Random 在 Python 中的使用方法
2018/08/09 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
python代码实现猜拳小游戏
2020/11/30 Python
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
Java中compareTo和compare的区别
2016/04/12 面试题
毕业生自我推荐
2013/11/04 职场文书
专营店会计助理岗位职责
2013/11/29 职场文书
求职简历的自我评价
2014/01/31 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
教师工作决心书
2015/02/04 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
会计主管竞聘书
2015/09/15 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang