js自定义事件

来源:互联网 发布:网络u盾讀取服务器 编辑:程序博客网 时间:2024/06/04 23:33


<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">    <meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″/>    <link rel="shortcut icon" href="images/send.png" type="/image/x-icon">    <script src="js/jquery-1.11.3.min.js"></script>    <title>test</title>    <style>        * {            margin: 0;             padding: 0;            font-size: 0.04rem;        }        body, html {            width: 100%;            height: 100%;        }        div {            position: absolute;            padding: 10px;            border: 5px solid red;            background: green;        }        .a {            width: 80px;            height: 100px;            left: 50px;            top: 100px;        }        .b {            width: 40px;            height: 60px;            left: 150px;            top: 100px;        }        .c {            width: 40px;            height: 60px;            left: 10px;            top: 140px;        }            </style></head><body>    <div class="a">a</div>    <div class="b">b</div><script>    ;$(function() {        var a = document.querySelector('.a');        var b = document.querySelector('.b');        bindEvent(a, 'click', function() {            console.log(1);        });        bindEvent(b, 'self', function() {            console.log(2);        });        bindEvent(b, 'self', function() {            console.log(3);        });        bindEvent(b, 'click', function() {            fireEvent(b, 'self');        });        //绑定事件        function bindEvent(obj, event, fn) {            //自定义事件            obj.listener = obj.listener || {};            obj.listener[event] = obj.listener[event] || [];            obj.listener[event].push(fn);            if(obj.addEventListener) {                obj.addEventListener(event, fn);            }else {                obj.attachEvent('on'+ event, fn);            }        }        //触发自定义事件        function fireEvent(obj, event) {            for(var i=0,len=obj.listener[event].length; i<len; i++) {                obj.listener[event][i]();            }        }                    });</script></body></html>


0 0
原创粉丝点击