JavaScript绑定事件跟解绑事件的兼容代码

Posted 吃蛋糕的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript绑定事件跟解绑事件的兼容代码相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input type="button" value="按钮" id="bt"/>
<input type="button" value="解绑事件" id="bt2"/>
<script src="common.js"></script>
<script>
    //绑定事件兼容代码
    function addEventListner(element, type, fn) {
        if (element.addEventListener) {
            element.addEventListener(type, fn, false);
        } else if (element.attachEvent) {
            element.attachEvent("on" + type, fn);
        } else {
            element["on" + type] = fn;
        }
    }
    //解绑事件的兼容代码
    function removeEventListner(element, type, fnName) {
        if (element.removeEventListener) {
            element.removeEventListener(type, fnName, false);
        } else if (element.detachEvent) {
            element.detachEvent("on" + type, fnName);
        } else {
            element["on" + type] = null;
        }
    }

    //测试
    function f1() {
        console.log("第一个");
    }
    function f2() {
        console.log("第二个");
    }
    addEventListner(my$("bt"), "click", f1);
    addEventListner(my$("bt"), "click", f2);
    my$("bt2").onclick = function () {
        removeEventListner(my$("bt"), "click", f1);
    };
</script>
</body>
</html>

 

以上是关于JavaScript绑定事件跟解绑事件的兼容代码的主要内容,如果未能解决你的问题,请参考以下文章

javascript 绑定解绑事件无JQ

JQjq动态绑定事件.on()解绑事件off()

js 事件

js中的解绑事件

对事件委托绑定click的事件的解绑

对事件委托绑定click的事件的解绑