• 在js中绑定onclick事件为什么不加括号,在html代码中必须要加?


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div>
        <button id="btn">按钮</button>
    </div>
    <script>
        var btn = document.getElementById("btn");
        btn.onclick = demo();
        //btn.onclick = demo;
    
        /*加上括号是执行的意思,添加事件的回调函数应该就是给相应的事件属性赋值,
        而很明显需要把一个函数赋值给这个事件属性,而不是函数的调用结果。
        所以在js中的绑定是直接赋值。而在标签内的事件属性的值是由引号包裹的,
        代表的是当点击该元素时,执行引号内的代码,直接把引号内的代码拿出来跑,
        如果你不加括号,那就不会调用那个函数。*/
    
        /*简单来说就是带括号的是执行一次函数,不带括号的函数就是一个函数对象*/
        /*那下面这种意思就明显了,下面的这一句语句是将一个函数对象赋值给了btn.onclick
       */
    
        // btn.onclick = function(){alert("DOM0级事件处理111");}
    
        function demo(){
            alert("111");
        }
    
    </script>
    </body>
    </html>

    转载:https://www.cnblogs.com/foreverlin/p/10077651.html

  • 相关阅读:
    constraint更新表列约束默认值
    sql语句 关于日期时间、类型转换的东西
    SQL数据库完全复制
    SQLServer语句 汇总
    SQL Server Profiler使用方法
    SQL语句-批量插入表(表数据插表)
    VS 快捷键
    外部引用 jQuery 库
    mongodb笔记
    Ubuntu16.04安装live-server
  • 原文地址:https://www.cnblogs.com/qq254980080/p/10479295.html
Copyright © 2020-2023  润新知