使用一个外部的js文件,attachEvent与IE11不兼容,如果放一起
javascript吧
全部回复
仅看楼主
level 1
jessylake 楼主
如果把EventUtil的声明放到html文件里,加一句:<meta http-equiv="X-UA-Compatible" content="IE=10" /> 就能解决,但如果把EventUtil的声明放在一个外部的JS文件这句就不灵了,怎么解决?
下面是js文件:EventUtil.js
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;
}
}
}
下面是调用js文件的html文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<title></title>
<script src="EventUtil.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<input type="button" value="test" id="btn1" />
<input type="button" value="test1" id="btn2" />
<script type="text/javascript">
var btn1=document.getElementById("btn1");
function test(){
alert('hello king');
}
EventUtil.addHandler(btn1,'click',test);
var btn2=document.getElementById("btn2");
function test1(){
EventUtil.removeHandler(btn1,'click',test);
alert('test按钮的click事件被移除!')
}
EventUtil.addHandler(btn2,'click',test1);
</script>
</body>
</html>
2018年09月01日 09点09分 1
level 1
jessylake 楼主
希望高手能给指点一下
2018年09月01日 10点09分 2
level 1
jessylake 楼主
自己顶一下
2018年09月01日 13点09分 3
1