原链接 http://www.css88.com/archives/4998
javascript事件触发器fireEvent和dispatchEvent
时间:2013年01月07日作者:愚人码头查看次数:950 views评论次数:2条评论
01 | //document上绑定自定义事件ondataavailable |
02 | document.attachEvent( 'ondataavailable' , function (event) { |
03 | alert(event.eventType); |
04 | }); |
05 | var obj=document.getElementById( "obj" ); |
06 | //obj元素上绑定click事件 |
07 | obj.attachEvent( 'onclick' , function (event) { |
08 | alert(event.eventType); |
09 | }); |
10 | //调用document对象的createEventObject方法得到一个event的对象实例。 |
11 | var event = document.createEventObject(); |
12 | event.eventType = 'message' ; |
13 | //触发document上绑定的自定义事件ondataavailable |
14 | document.fireEvent( 'ondataavailable' , event); |
15 | //触发obj元素上绑定click事件 |
16 | document.getElementById( "test" ).onclick = function () { |
17 | obj.fireEvent( 'onclick' , event); |
18 | }; |
01 | //document上绑定自定义事件ondataavailable |
02 | document.addEventListener( 'ondataavailable' , function (event) { |
03 | alert(event.eventType); |
04 | }, false ); |
05 | var obj = document.getElementById( "obj" ); |
06 | //obj元素上绑定click事件 |
07 | obj.addEventListener( 'click' , function (event) { |
08 | alert(event.eventType); |
09 | }, false ); |
10 | //调用document对象的 createEvent 方法得到一个event的对象实例。 |
11 | var event = document.createEvent( 'HTMLEvents' ); |
12 | // initEvent接受3个参数: |
13 | // 事件类型,是否冒泡,是否阻止浏览器的默认行为 |
14 | event.initEvent( "ondataavailable" , true , true ); |
15 | event.eventType = 'message' ; |
16 | //触发document上绑定的自定义事件ondataavailable |
17 | document.dispatchEvent(event); |
18 |
19 | var event1 = document.createEvent( 'HTMLEvents' ); |
20 | event1.initEvent( "click" , true , true ); |
21 | event1.eventType = 'message' ; |
22 | //触发obj元素上绑定click事件 |
23 | document.getElementById( "test" ).onclick = function () { |
24 | obj.dispatchEvent(event1); |
25 | }; |