在我的文檔我在這個例子中喜歡這裏給出一個onload功能:JavaScript函數的HTML身體,不會工作
<body onLoad="display()">
另外我在文檔的末尾添加一個函數,它改變了一些CSS屬性:
<script>
window.onload = foo(), bar();
</script>
不知何故整個事情都不起作用!我試圖在文檔的末尾添加所有的函數,但我沒有明白,但不知何故,它們不會觸發!
在我的文檔我在這個例子中喜歡這裏給出一個onload功能:JavaScript函數的HTML身體,不會工作
<body onLoad="display()">
另外我在文檔的末尾添加一個函數,它改變了一些CSS屬性:
<script>
window.onload = foo(), bar();
</script>
不知何故整個事情都不起作用!我試圖在文檔的末尾添加所有的函數,但我沒有明白,但不知何故,它們不會觸發!
即將調用這些函數,但它不會爲window.onload
分配任何有用的內容,除非您的上一個函數恰好返回函數。
您需要爲window.onload
指定一個函數,當window
準備就緒時,該函數將調用您的函數。
window.onload = function() {
foo();
bar();
};
此外,由於您將腳本放在底部,因此您可能不需要window.onload
。
<script>
foo(); bar();
</script>
</body>
你也應該知道,直接window.onload
分配將覆蓋<body onLoad=...>
分配腳本,所以你不應該做兩個。目前,返回值bar();
正在消除調用display();
的函數。
擺脫window.onload
分配將解決這個問題。
我想你指出了一個重要的問題,但沒有足夠的重點。該'window.onload'覆蓋'<體的onload =「」>',並分配給'值window.onload'可能'undefined'(調用'bar'的返回值的事實。此外,根據他們真正的意思是,OP表示,劇本是的''
底部: – Ian 2013-02-20 16:44:38@Ian「除了我在文件末尾附加功能」:是的,我想你是對的望着問題再次,新的腳本似乎是在底部,所以這是有可能的罪魁禍首。 – 2013-02-20 16:46:09
但在同一時間覆蓋,因爲'foo'和'bar'被稱爲,**和**的文檔準備好了(因爲腳本在底部),你不覺得代碼會起作用嗎?我的意思是,'onLoad =「display()」'不會因爲它被覆蓋,但我會認爲無論'foo'和'bar'做什麼,這些都可以工作。但顯然,display()不會運行。 OP沒有說清楚「不工作」是什麼意思...... – Ian 2013-02-20 16:52:38
在第一種情況下,我沒有看到一個原因,它不應該工作,只要display()
定義功能沒有任何錯誤。
在第二種情況下,分配通過DOM事件處理程序時,就需要在一個匿名函數通過其中一個函數引用(即,而不是foo()
只是foo
)或包裹它像這樣:
window.onload = function() {
foo();
}
'的window.onload = FOO(),棒();'調用功能'foo'和'bar'和bar'的'返回值分配給'window.onload'。我建議學習如何調試JavaScript代碼:http://www.netmagazine.com/tutorials/javascript-debugging-beginners。 – 2013-02-20 16:35:31
你看過開發人員工具/ javascript控制檯,看看你得到什麼錯誤? – Offbeatmammal 2013-02-20 16:36:01