[英]Why when i call a function with returning value, my onclick event doesn't work?
我用这个代表我问题的简单代码缩小了我的工作:
runSomething();
function runSomething(){
function getRandom(){
var random = Math.floor((Math.random())*10);
return random;
};
document.onclick = getRandom();
};
有一个外部函数( runSomething()
)包含下一个:
getRandom
的函数,它返回一个0到9之间的数字(我用来选择一个数组的随机项) document.onclick = getRandom();
应该做的是RUN getRandom();
每次我点击文档的任何位置,以获得另一个新值 但是会发生什么? document.onclick = getRandom();
只运行一次(加载文档时)但单击文档时没有任何反应
并且在加载文档时不能触发getRandom()
,因为该函数在脚本的其他部分被触发,这意味着我将获得2个不同的新值(请记住, getRandom()
每次返回不同的数字被解雇了)
我做错了什么?
PS我还是JS的新秀
PPS抱歉,我的英文
删除()
document.onclick = getRandom;
()
将在加载时立即调用函数,您必须传递函数。
分配onClick时,需要分配函数而不是执行它并分配返回值(这是你的()
所做的):
document.onclick = getRandom;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.