29、事件解绑

来源:互联网 发布:www.ttt258.com新域名 编辑:程序博客网 时间:2024/06/11 22:37

事件解绑

obj.detachEvent(事件名,事件函数);

obj.removeEventListener(事件名,事件函数,是否捕获);

<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="Generator" content="EditPlus®"><meta name="Author" content=""><meta name="Keywords" content=""><meta name="Description" content=""><title>Document</title><style>*{margin:0px;padding:0px;}#box1{padding:50px;background:red;}#box2{padding:50px;background:green;}#box3{padding:50px;background:blue;}</style></head><body><div id="box1"><div id="box2"><div id="box3"></div></div></div><script>oBox1 = document.getElementById("box1");oBox2 = document.getElementById("box2");oBox3 = document.getElementById("box3");/*oBox3.onclick = function(){alert(1);};oBox3.onclick = null;*//*//IE下解绑oBox3.attachEvent('onclick',f1);oBox3.detachEvent('onclick',f1);function f1(){alert('1');}*//*//非IE下解绑oBox3.addEventListener('click',f1);oBox3.removeEventListener('click',f1);  //两个必须同时为false或者true才能解绑,此情况两个都是默认值为falsefunction f1(){alert('1');}*////*//兼容程序bind( oBox3 , 'click' , f1 );unbind( oBox3 , 'click' , f1 );bind( oBox3 , 'click' , f2 );unbind( oBox3 , 'click' , f2 );function f1(){alert(1);}function f2(){alert(2);}function unbind( obj , eName , eFn ){for ( var i=0;i<obj.bindFn.length;i++ ){if ( eFn == obj.bindFn[i].bool ){eFn = obj.bindFn[i].fn;}};obj.attachEvent?obj.detachEvent('on'+eName,eFn):obj.removeEventListener(eName , eFn , false);};function bind(obj , eName , eFn ){obj.bindFn?obj.bindFn.push({bool:eFn}):obj.bindFn=[{bool:eFn}];obj.bindFn[obj.bindFn.length-1].fn=function(){eFn.call( obj );};obj.attachEvent?obj.attachEvent('on'+eName,obj.bindFn[obj.bindFn.length-1].fn):obj.addEventListener(eName ,obj.bindFn[obj.bindFn.length-1].fn , false);};//*/</script></body></html>


0 0
原创粉丝点击