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 Validation插件remote验证方式的Bug解决
Jul 01 Javascript
JavaScript DOM节点添加示例
Jul 16 Javascript
JavaScript中的函数重载深入理解
Aug 04 Javascript
jquery实现右键菜单插件
Mar 29 Javascript
javascript中attachEvent用法实例分析
May 14 Javascript
javascript如何实现360度全景照片问题汇总
Apr 04 Javascript
jQuery 跨域访问解决原理案例详解
Jul 09 Javascript
详解vue2.0脚手架的webpack 配置文件分析
May 27 Javascript
原生JS实现列表子元素顺序反转的方法分析
Jul 02 Javascript
浅析Vue下的components模板使用及应用
Nov 27 Javascript
解决vue 退出动画无效的问题
Aug 09 Javascript
TypeScript魔法堂之枚举的超实用手册
Oct 29 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
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
php的memcached客户端memcached
2011/06/14 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
python 异常处理总结
2016/10/18 Python
python实现图片彩色转化为素描
2019/01/15 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
python eventlet绿化和patch原理
2020/11/21 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
突袭HTML5之Javascript API扩展3—本地存储全新体验
2013/01/31 HTML / CSS
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
简历中求职的个人自我评价
2013/12/03 职场文书
自我推荐书
2013/12/04 职场文书
简历里的自我评价
2014/01/31 职场文书
求职自荐信的格式
2014/04/07 职场文书
公司承诺书范文
2014/05/19 职场文书
如何写求职信
2014/05/24 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
党章培训心得体会
2014/09/04 职场文书
怎样写家长意见
2015/06/04 职场文书