事件的解除与绑定
1. 事件绑定
代码
//通用事件绑定函数
function commonAddEvent(obj, event, func) {
if (obj.attachEvent) {
//IE
obj.attachEvent("on" + event, func);
} else {
//FF
obj.addEventListener(event, func, false);
}
}
2. 事件解除
代码
//通用事件解除函数
function commonDelEvent(obj, event, func) {
if (obj.detachEvent) {
//IE
obj.detachEvent("on" + event, func);
} else {
//FF
obj.removeEventListener(event, func, false);
}
}
3. 绑定匿名函数,无法删除
代码
window.onload = function() {
var oBtn = document.getElementById("btn1");
oBtn.attachEvent("onclick", function() {
alert("a");
});
//虽然两个函数内容相同,但是并不是同一个对象,所以无法解除
oBtn.detachEvent("onclick", function() {
alert("a");
});
var func = function() {
alert("a");
};
oBtn.attachEvent("onclick", func);
//同一个变量,代表同一个对象,可以解除
oBtn.detachEvent("onclick", func);
};