美文网首页
注册事件的两种方式

注册事件的两种方式

作者: 疯狂的蜗牛Dianna | 来源:发表于2020-01-01 21:24 被阅读0次

    1、on + 事件名称

    1.1 注册事件

    <!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>
        <style>
        </style>
    </head>
    
    <body>
        <button>按钮</button>
    </body>
    <script>
        var btn = document.querySelector('button');
        btn.onclick = function () {
            console.log(111);
        }
    </script>
    
    </html>
    

    1.2移除事件

        btn.onclick = null;
    

    1.3 on事件名称 弊端

    不能同时注册同一类型的事件多次

    <!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>
        <style>
        </style>
    </head>
    
    <body>
        <button>按钮</button>
    </body>
    <script>
        var btn = document.querySelector('button');
        btn.onclick = function () {
            console.log(111);
        }
        // btn.onclick = null;
        btn.onclick = function () {
            console.log('娟娟真美!!!');
        }
    </script>
    
    </html>
    

    最后的结果是打印出来娟娟真美!!!

    2、addEventListener注册事件

    <!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>
        <style>
        </style>
    </head>
    
    <body>
        <button>按钮</button>
    </body>
    <script>
        // addEventListener
        // 结构: addEventListener(参数1,参数2)
        // 参数1: 事件名称(不带on)
        // 参数2: 事件处理函数
        var btn = document.querySelector('button');
        btn.addEventListener('click', function () {
            console.log('飞飞帅');
        });
    
        // 2. 移除
        // 移除失败
        // btn.removeEventListener('click', function () {
       //    console.log('飞飞帅');
       // });
    
        // 3.好处: 可以同时注册一个类型事件多次
        // btn.addEventListener('click', function () {
        //     console.log('浩哥帅');
        // });
    </script>
    
    </html>
    

    2.1正确的移除方式

    <button>按钮<button>
    <script>
      var btn = document.querySelector('button');
      var fn = function(){
      console.log('娟娟真美!!!');
      }
      btn.addEventListener('click',fn);
    //打印出来   娟娟真美!!!
    // 移除事件
    btn.removeEventListener('click', fn);
    </script>
    

    相关文章

      网友评论

          本文标题:注册事件的两种方式

          本文链接:https://www.haomeiwen.com/subject/wmmwoctx.html