[英]Javascript functions within Dojo script run without being called
我对此感到很愚蠢,但是我在主要的Dojo require脚本中有一个命名函数,该脚本的目的是在被click事件调用时运行。 但是,该函数在加载页面时运行,而不在click事件上运行。
<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>
页面加载后,将立即弹出“测试”警报,并且单击事件没有任何反应。
当您键入
testNode.onclick = test();
您正在调用函数test
并将函数的返回值传递给testNode.onclick
。 您应该将功能test
的引用分配给testNode.onclick
:
testNode.onclick = test;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.