跨浏览器事件处理程序
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>跨浏览器事件处理程序</title> <!-- 针对IE8及以下版本 --> </head> <body> <script> //添加事件 function addHandler(element,type,handler){ //element:事件对象 //type:事件类型 //handler:事件句柄 if (element.addEventListener){ //判断浏览器是否支持该语句(chrome/opera/IE9支持) element.addEventListener(type,handler,false); }else if(element.attachEvent){ //判断浏览器是否支持该语句(IE8及以下版本支持) element.attachEvent("on"+type,handler); }else{ element["on"+type]=handler;//以上两种都不支持时,执行DOM0级事件 } } //移除事件 function removeHandler(element,type,handler){ if (element.removeEventListener){ //判断浏览器是否支持该语句(chrome/opera/IE9支持) element.removeEventListener(type,handler,false); }else if(element.detachEvent){ //判断浏览器是否支持该语句(IE8及以下版本支持) element.detachEvent("on"+type,handler); }else{ element["on"+type]=handler;//以上两种都不支持时,执行DOM0级事件 } } </script> <!-- 测试效果 --> <button id="btn">点击</button><!-- 创建按钮 --> <script> var btn=document.getElementById("btn");//获取按钮 //事件句柄 var tan=function (){ alert("弹框"); } addHandler(btn,"click",tan);//调用添加事件函数 removeHandler(btn,"click",tan);//调用移除事件函数 </script> </body> </html>
相关推荐
Kakoola 2020-08-01
bearhoopIT之道 2020-08-16
凯哥Java 2020-07-04
haidaoxianzi 2020-07-04
delmarks 2020-06-28
aNian 2020-06-16
qingjiuquan 2020-06-07
fraternityjava 2020-06-04
明瞳 2020-06-04
HappyHeng 2020-05-28
88473166 2020-05-14
zkwgpp 2020-05-07
oXiaoChong 2020-05-07
ChainDestiny 2020-05-07
doomvsjing 2020-05-07
xuMelon 2020-05-04
MrLiar 2020-04-27