zoukankan      html  css  js  c++  java
  • 事件绑定与移除

    js中事件绑定

    1. 在元素标签中绑定事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style type="text/css">
            #div1 {
                width: 500px;
                height: 500px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div id='div1' onclick="fn()"></div>
        <script type="text/javascript">
            function fn() {
                console.log(111);  // 111
            }
        </script>
    </body>
    </html>

    2. 通过onxxx()绑定事件:这种方式绑定的事件,同一个元素的同一种事件多次绑定,后面的事件会覆盖前面的事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style type="text/css">
            #div1 {
                width: 500px;
                height: 500px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div id='div1'></div>
        <script type="text/javascript">
            var obj = document.getElementById("div1");
            obj.onclick = function() {
                console.log(11);
            };
            obj.onclick = function() {
                console.log(22);
            };
    
            // 只会输入22
    
            // 移除事件 obj.onclick = null
        </script>
    </body>
    </html>

    3. obj.addEventListener()绑定事件监听

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style type="text/css">
            #div1 {
                width: 500px;
                height: 500px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div id='div1'></div>
        <script type="text/javascript">
            // addEventListener方法在ie8及以下不支持,ie8中可以使用attachEvent()
            /*
             * 事件注册兼容写法,参数如下:
             *  ele:dom元素
             *  type:事件类型
             *  fn:处理函数
             */ 
            function addEvent(ele, type, fn) {
                if(ele.addEventListener) {
                    ele.addEventListener(type, fn, false);
                }else {
                    ele.attachEvent('on' + type, fn);
                }
            }
    
            var obj = document.getElementById("div1");
            addEvent(obj, 'click', function() {
                console.log(222);
            })
    
            // 移除事件
            // addEventListener --> removeEventListener
            // attachEvent --> detachEvent
        </script>
    </body>
    </html>

    jquery中事件绑定

    1. on()

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
        <style type="text/css">
            #div1 {
                width: 500px;
                height: 500px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div id='div1'>
            <span id="span1">hello world</span>
            <span id="span2">hello world</span>
        </div>
        <script type="text/javascript">
            /*
             * 语法:$(selector).on(event,childSelector,data,function)
             * 参数如下:
             *  event:事件类型
             *  childSelector: 可选,绑定到指定子元素
             *  data: 传入到函数的额外参数
             *  function:处理函数
             */
            $('#div1').on('click', '#span1', function() {
                console.log(111)
            })
    
            // 移除事件 off()
        </script>
    </body>
    </html>
  • 相关阅读:
    使用JS获取选中的复选框的值
    AngularJS实现tab选项卡
    Java递归获取树父节点下的所有树子节点
    SQL中的case when then
    用sql语句(alter)追加新字段、外键、删除列
    javascript把number转化成百分比
    使用group by来去除重复记录
    JavaScript数组
    基本排序方法
    (转)如何学好C语言
  • 原文地址:https://www.cnblogs.com/mengbing/p/12492976.html
Copyright © 2011-2022 走看看