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 相关文章推荐
用JS实现一个页面多个css样式实现
May 29 Javascript
javascript 获取模态窗口的滚动位置代码
Aug 06 Javascript
浅谈javascript中createElement事件
Dec 05 Javascript
一次$.getJSON不执行的简单记录
Jul 19 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
Jul 28 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
Sep 14 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
Mar 21 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
JavaScript模块详解
Dec 18 Javascript
详解微信小程序支付流程与梳理
Jul 16 Javascript
javascript实现blob加密视频源地址的方法
Aug 08 Javascript
微信小程序HTTP请求从0到1封装
Sep 09 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
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
python 基于opencv实现图像增强
2020/12/23 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
关于人生的感言
2014/01/17 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
民族学专业求职信
2014/07/28 职场文书
就业协议书范本
2014/10/08 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
员工工作心得体会
2019/05/07 职场文书
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers