封装已知在IE中addEventListener 存在兼容问题需要通过attachEvent实现事件绑定 - 在window中IE环境下不存在addEventListener 而是attachEvent - attachEvent 使用 ```javascript el.attachEvent("on" + type, fn) ``` 请编写一个方法要求传入 type事件名 el 元素 fn事件回调函数来实现事件的绑定。 function( if(window){}else{ } )
时间: 2024-03-07 10:49:28 浏览: 90
attachEvent和addEventListener 使用方法
可以按照以下方式进行封装:
```javascript
function bindEvent(type, el, fn) {
if (window.addEventListener) {
// 非IE浏览器
el.addEventListener(type, fn, false);
} else if (window.attachEvent) {
// IE浏览器
el.attachEvent("on" + type, function () {
fn.call(el, window.event);
});
}
}
```
使用时可以这样调用:
```javascript
var btn = document.getElementById("btn");
bindEvent("click", btn, function (event) {
console.log("按钮被点击了");
});
```
这样就可以实现兼容IE和非IE浏览器的事件绑定了。
阅读全文