面试题答案
一键面试在JavaScript中,addEventListener
在旧版本IE浏览器(IE8及以下)中不被支持,IE使用 attachEvent
方法来绑定事件。以下是兼容性优化的代码示例:
function addEvent(element, eventType, callback) {
if (element.addEventListener) {
// 现代浏览器
element.addEventListener(eventType, callback, false);
} else if (element.attachEvent) {
// 旧版本IE浏览器
element.attachEvent('on' + eventType, function () {
callback.call(element);
});
} else {
// 处理不支持上述两种方法的浏览器
element['on' + eventType] = callback;
}
}
你可以这样使用这个函数:
// 获取一个元素,假设页面中有一个id为'myButton'的按钮
var myButton = document.getElementById('myButton');
// 为按钮添加点击事件
addEvent(myButton, 'click', function () {
console.log('按钮被点击了');
});