事件的解除与绑定

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);
};
posted @ 2015-12-24 20:26  叫我霍啊啊啊  阅读(141)  评论(0编辑  收藏  举报