自定义事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="div1">div</div>
</body>
<script>
    var oDiv = document.getElementById('div1');

    bindEvent(oDiv,'click',function(){
        alert(1);
    });
    bindEvent(oDiv,'click',function(){
        alert(2);
    });
    bindEvent(oDiv,'click',function(){
        alert(3);
    });
    bindEvent(oDiv,'show',function(){
        alert(4);
    });
    bindEvent(oDiv,'show',function(){
        alert(5);
    });
    bindEvent(document,'show',function(){
        alert(5);
    });

    fireEvent(oDiv,'show');
    function bindEvent(obj,event,fn){
        obj.listeners = obj.listeners || {};
        obj.listeners[event] = obj.listeners[event] || [];
        obj.listeners[event].push(fn);
        obj.addEventListener(event,fn,false);
    }

    function fireEvent(obj,event){
        var fn = obj.listeners[event];
        console.log(fn);
        for(var i=0;i<fn.length;i++){
            obj.listeners[event][i]();
        }
    }

</script>
</html>

 

posted @ 2018-04-18 10:16  阿弥陀佛么么哒!  阅读(103)  评论(0编辑  收藏  举报