首页 > 网站 > WEB开发 > 正文

Javascript 事件对象(四)一个事件绑定多个不同的函数

2024-04-27 14:22:45
字体:
来源:转载
供稿:网友

javascript 事件对象(四)一个事件绑定多个不同的函数

给一个对象绑定多个事件处理函数:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <script> 7 //给一个对象绑定一个事件处理函数的第一种形式 8 //obj.onclick = fn; 9 function fn1() {10     alert(this);11 }12 function fn2() {13     alert(2);14 }15 16 //document.onclick = fn1;17 //document.onclick = fn2;    //会覆盖前面绑定fn118 19 //给一个对象的同一个事件绑定多个不同的函数20 //给一个元素绑定事件函数的第二种形式21 22 /*23 ie:obj.attachEvent(事件名称,事件函数);24     1.没有捕获25     2.事件名称有on26     3.事件函数执行的顺序:标准ie-》正序   非标准ie-》倒序27     4.this指向window28 标准:obj.addEventListener(事件名称,事件函数,是否捕获);29     1.有捕获30     2.事件名称没有on31     3.事件执行的顺序是正序32     4.this触发该事件的对象33 */34 35 /*document.attachEvent('onclick', function() {36     fn1.call(document);37 });38 document.attachEvent('onclick', fn2);*/39 40 //是否捕获 : 默认是false    false:冒泡 true:捕获41 42 /*document.addEventListener('click', fn1, false);43 document.addEventListener('click', fn2, false);*/44 45 function bind(obj, evname, fn) {46     if (obj.addEventListener) {47         obj.addEventListener(evname, fn, false);48     } else {49         obj.attachEvent('on' + evname, function() {50             fn.call(obj);51         });52     }53 }54 55 bind(document, 'click', fn1);56 bind(document, 'click', fn2);57 </script>58 </head>59 60 <body>61 </body>62 </html>

事件取消:

 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <script> 7 /* 8 第一种事件绑定形式的取消 9 */10 function fn1() {11     alert(1);12 }13 function fn2() {14     alert(2);15 }16 17 //document.onclick = fn1;18 //document.onclick = null;    //取消19 20 /*21 ie : obj.detachEvent(事件名称,事件函数);22 标准 : obj.removeEventListener(事件名称,事件函数,是否捕获);23 */24 /*document.attachEvent('onclick', fn1);25 document.attachEvent('onclick', fn2);26 document.detachEvent('onclick', fn1);*/27 28 document.addEventListener('click', fn1, false);29 document.addEventListener('click', fn1, true);30 document.addEventListener('click', fn2, false);31 32 document.removeEventListener('click', fn1, false);33 </script>34 </head>35 36 <body>37 </body>38 </html>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表