[英]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.