javascript自定义事件
2015-07-06 12:36
841 查看
没错,自定义事件的机制如普通事件一样——监听事件,写回调操作,触发事件后执行回调。但不同的是,自定义事件完全由我们控制触发时机,这就意味着实现了一种 JavaScript 的解耦。我们可以把多个关联但逻辑复杂的操作利用自定义事件的机制灵活地控制好。
代码演示如下:
相关函数注释:
1.创建事件 document.createEvent(type);
type is a string that represents the type of event to be created. Possible event types include “UIEvents”, “MouseEvents”, “MutationEvents”, and “HTMLEvents”. See Notes section for details.
2. 初始化事件
event.initEvent(eventType,canBubble,cancelable)
参数介绍:
eventType 字符串值。事件的类型。也就是新事件的名字
canBubble 事件是否起泡。
cancelable 是否可以用 preventDefault() 方法取消事件。
3.监听事件事件
target.addEventListener('dataavailable', handler, false);
参数介绍:
dataavailable 新事件名
handler 触发的函数
false 是否是扑获事件模型
4.触发事件
target.dispatchEvent(e);
e 是已经申明的事件对象
代码演示如下:
<!DOCTYPE html> <html> <head> </head> <body> <div id="div2">你好。这是一个 div 元素。</div> <script> var event = document.createEvent("Event"); //创建事件 event.initEvent("my",true,true); //初始化事件 var dom = document.getElementById("div2"); dom.addEventListener("my",function(){alert("ok")},false); //监听事件 dom.dispatchEvent(event); //触发事件 </script> </body> </html>
相关函数注释:
1.创建事件 document.createEvent(type);
type is a string that represents the type of event to be created. Possible event types include “UIEvents”, “MouseEvents”, “MutationEvents”, and “HTMLEvents”. See Notes section for details.
2. 初始化事件
event.initEvent(eventType,canBubble,cancelable)
参数介绍:
eventType 字符串值。事件的类型。也就是新事件的名字
canBubble 事件是否起泡。
cancelable 是否可以用 preventDefault() 方法取消事件。
3.监听事件事件
target.addEventListener('dataavailable', handler, false);
参数介绍:
dataavailable 新事件名
handler 触发的函数
false 是否是扑获事件模型
4.触发事件
target.dispatchEvent(e);
e 是已经申明的事件对象
相关文章推荐
- javascript实现的多个层切换效果通用函数实例
- js控制下的飘窗
- javascript动态添加删除tabs标签的方法
- js显示隐藏
- js添加收藏夹
- 转:Json序列化和反序列化
- js 切换图片
- JSP内置对象
- Js 正则表达式 写了一个正整数或小数点或分数前两个正则表达式
- 实现js呼叫流行
- js实现:'w5-8' -> /^\w{5,8}$/
- 跨浏览器用javascript获取窗口的位置和大小
- JavaScript灵活性
- JavaScript灵活性
- 图解Javascript上下文与作用域
- 一些达成共识的JavaScript编码风格约定
- JSTL(fn函数)
- Jsonp post 跨域方案
- Google JavaScript代码风格指南
- Javascript 删除数组的指定元素