JavaScript中的addEventListener()函数大多数浏览器都可以正常使用,但是却不兼容IE8及其以下的浏览器,所以我们可以自定义一个专门用于绑定事件的函数bind(),无论是什么浏览器,都可以正常使用。
在这个函数中,需要使用到IE专用的attachEvent()函数,需要传递的形参分别是:需要绑定事件的对象,绑定事件的名称,以及回调函数,
function bind(obj, eventStr, callBack) {
if (obj.addEventListener) {
eventStr = eventStr.slice(2,eventStr.length);
obj.addEventListener(eventStr, callBack, false);
}
else {
obj.attachEvent(eventStr,function () {
// 更改this为指定的obj
callBack.call(obj);
});
}
}
例如:通过这个函数给对象btn绑定一个对象,当点击这个对象时,就会弹出Hello World
bind(btn, "onclick", function () {
alert("Hello World");
});
原文地址:https://www.cnblogs.com/TomHe789/p/12694318.html
时间: 2024-10-22 14:49:23