事件的解除与绑定

旧城冷巷雨未停 提交于 2020-01-31 18:41:41

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);
};
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!