JS上的匿名函数

时间:2017-05-18 10:48:55

标签: javascript

提醒:JavaScript初学者。

<!DOCTYPE HTML>
<html>
    <head>
        <script>
        function mostraralerta() {
            alert("you've clicked!");
        }
        function hacerclic() {
            document.getElementById("boton").onClick = function(){
            mostraralerta();
            };
        }
        window.onLoad=hacerclic();
        </script>
    </head>
    <body>
        <input type="button" id="boton" value="click">
    </body>
</html>

当您点击输入时,它不会显示警报。如果我删除匿名函数并直接执行:

document.getElementById("boton").onClick = mostraralerta();

或使用其他选择器:

document.querySelector("#boton").onClick = mostraralerta();

只要您打开网页,它就会显示警告,而不是在点击按钮时显示警告。

此外,我尝试使用另一个html标签而不是输入,但我使这个代码工作的唯一方法是直接将事件onClick放在输入上,但我想知道如何制作它适用于函数和onload。

2 个答案:

答案 0 :(得分:5)

通过在MapInfo末尾添加括号,您可以执行该功能并将其结果存储在SQL您想要做的是传递函数的名称而不执行它,像这样:

mostraralerta

答案 1 :(得分:0)

调用document.getElementById("boton")函数时,

hacerclic为空。这是因为没有渲染输入标记。你可以通过将window.onload移动到这样的结尾来修复它

<body>
    <input type="button" id="boton" value="click">
    <script>window.onload= hacerclic();</script>
</body>

onclick全是小写:

 document.getElementById("boton").onclick = function(){
 mostraralerta()
 }