Dojo脚本中的Javascript函数在不被调用的情况下运行

Dojo脚本中的Javascript函数在不被调用的情况下运行,javascript,function,dojo,onclick,esri,Javascript,Function,Dojo,Onclick,Esri,对此我感到很愚蠢,但我在我的主Dojo require脚本中有一个命名函数,我的意图是在被单击事件调用时运行该函数。但是,该函数在加载页面时运行,而不会在单击事件时运行 <script> require(["esri/map", "dojo/domReady!"], function(Map){ var map = new Map("map"); testNode = document.getElementById("testNode"); testNode.

对此我感到很愚蠢,但我在我的主Dojo require脚本中有一个命名函数,我的意图是在被单击事件调用时运行该函数。但是,该函数在加载页面时运行,而不会在单击事件时运行

<script>
require(["esri/map", "dojo/domReady!"], function(Map){
    var map = new Map("map");
    testNode = document.getElementById("testNode");
    testNode.onclick = test();

    function test() {
        alert("test");
    }
}
</script>

<body>
    <div id="testNode">Click Here To Test</div>
    <div id="map></div>
</body>

要求([“esri/map”、“dojo/domReady!”),函数(map){
var图=新图(“图”);
testNode=document.getElementById(“testNode”);
testNode.onclick=test();
功能测试(){
警报(“测试”);
}
}
单击此处进行测试
你打字的时候

testNode.onclick = test();
testNode.onclick = test;
您正在调用函数
test
,并将函数的返回值传递给
testNode.onclick
。您应该将函数
test
的引用分配给
testNode.onclick

你打字的时候

testNode.onclick = test();
testNode.onclick = test;
您正在调用函数
test
,并将函数的返回值传递给
testNode.onclick
。您应该将函数
test
的引用分配给
testNode.onclick