您的位置:首页 > 其它

addEventListener()和attachEvent()跨浏览器的兼容性处理 — 第13.2.5节

2016-10-29 22:57 281 查看
  为了保证处理事件能在大多数浏览器下一致的运行,只需关注冒泡阶段。第一个要创建的方法是addHandler(),它的职责是视情况分别使用DOM0级方法、DOM2级方法或IE方法来添加事件。第二个方法是removeHandler()方法,用于移除添加的事件。EventUtil创建方法和用法如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="btn">你可以改变世界!</div>
</body>
<script type="text/javascript">
var EventUtil = {
addHandler : function(element,type,handler){
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if(element.attachEvent){
element.attachEvent('on' + type,handler);
}else{
element['on' + type] = handler;
}
},
removeHandler : function(element,type,handler){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent('on' + type,handler);
}else{
element['on' + type] = null;
}
}
}
var btn = document.getElementById('btn');
var handler = function(){
console.log('这是JavaScript高程第354页');
}
EventUtil.addHandler(btn,'click',handler);
</script>
</html>


以上封装可以实现任何浏览器的绑定事件,敲一遍你就会了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐