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 相关文章推荐
PJ Blog修改-禁止复制的代码和方法
Oct 25 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
Jul 10 Javascript
JS实现根据出生年月计算年龄
Jan 10 Javascript
node.js中的url.format方法使用说明
Dec 10 Javascript
jQuery如何防止这种冒泡事件发生
Feb 27 Javascript
一张Web前端的思维导图分享
Jul 03 Javascript
基于JavaScript实现类似于百度学术高级检索功能
Mar 02 Javascript
Promise.all中对于reject的处理方法
Aug 01 Javascript
webpack4.x下babel的安装、配置及使用详解
Mar 07 Javascript
vue柱状进度条图像的完美实现方案
Aug 26 Javascript
js实现简单五子棋游戏
May 28 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
Aug 05 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
德劲1107的电路分析与打磨
2021/03/02 无线电
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
Convert Seconds To Hours
2007/06/16 Javascript
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
extjs fckeditor集成代码
2009/05/10 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
vue-router路由简单案例介绍
2017/02/21 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
多个vue子路由文件自动化合并的方法
2019/09/03 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
Python的collections模块真的很好用
2021/03/01 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
Noon埃及:埃及在线购物
2019/11/26 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
哈理工毕业生的求职信
2013/12/22 职场文书
2016年大学生社会实践心得体会
2015/10/09 职场文书
化工生产实习心得体会
2016/01/22 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
python如何将mat文件转为png
2022/07/15 Python