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 相关文章推荐
javascript firefox不显示本地预览图片问题的解决方法
Nov 12 Javascript
JS对文本框值的判断示例
Mar 10 Javascript
Javascript Object 对象学习笔记
Dec 17 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
JS组件Form表单验证神器BootstrapValidator
Jan 26 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
Sep 04 Javascript
JS中的phototype详解
Feb 04 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
微信小程序动态添加view组件的实例代码
May 23 Javascript
vue实现页面滚动到底部刷新
Aug 16 Javascript
Ajax实现三级联动效果
Oct 05 Javascript
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
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
怎样辨别一杯好咖啡
2021/03/03 新手入门
php操作JSON格式数据的实现代码
2011/12/24 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
php获取微信openid方法总结
2019/10/10 PHP
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
跟老齐学Python之变量和参数
2014/10/10 Python
在Python中使用成员运算符的示例
2015/05/13 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
Python多继承顺序实例分析
2018/05/26 Python
Python之pymysql的使用小结
2019/07/01 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
办公室个人总结
2015/02/28 职场文书