js事件处理程序(兼容写法)

xiaoxiao2021-02-28  36

var util={ /* * element:目标元素 * type:绑定的事件类型 * handler:事件处理程序 * */ addHandler:function (element, type, handler,isBubbling) { if (element.addEventListener) {//DOM2支持 element.addEventListener(type, handler, isBubbling || false); } else if (element.attachEvent) {//IE兼容 element.attachEvent("on" + type, handler); } else {//DOM0 element["on" + type] = handler; } }, removeHandler: function (element, type, handler,isBubbling) { if(element.removeEventListener){//DOM2支持 element.removeEventListener(type,handler,isBubbling || false); }else if(element.detachEvent) {//IE兼容 element.detachEvent("on"+type,handler); }else {//DOM0 element["on" + type] = null; } } // 以下是对event事件对象的兼容 getEvent:function (event) { return event?event:window.event; }, getTarget:function (event) { return event.target ||event.srcElement; }, preventDefault:function (event) { if(event.preventDefault){ event.preventDefault(); }else{ event.returnValue=false; } }, stopPropagation:function (event) { if(event.stopPropagation){ event.stopPropagation(); }else{ event.cancelable=true; } } } //使用示例: function handler(){} util.addHandler(oDiv,"click",handler); util.removeHandler(oDiv,"click",handler);
转载请注明原文地址: https://www.6miu.com/read-2631001.html

最新回复(0)