難道這會導致潛在的問題:我可以在網頁底部放置一個腳本,但是從頂部調用它嗎?
<HTML> <BODY> ... <INPUT name="xyz" onchange="myFunction();"> ... <SCRIPT> function myFunction() { ... } </SCRIPT> </BODY> </HTML>
如果頁面加載緩慢,表格底部的腳本部分呈現前會發生什麼裝?如果用戶在輸入框中輸入一些文本,會發生JavaScript錯誤嗎?
難道這會導致潛在的問題:我可以在網頁底部放置一個腳本,但是從頂部調用它嗎?
<HTML> <BODY> ... <INPUT name="xyz" onchange="myFunction();"> ... <SCRIPT> function myFunction() { ... } </SCRIPT> </BODY> </HTML>
如果頁面加載緩慢,表格底部的腳本部分呈現前會發生什麼裝?如果用戶在輸入框中輸入一些文本,會發生JavaScript錯誤嗎?
您需要加載腳本才能調用它。你爲什麼不改變它的東西是這樣的:
<input name="xyz" id="myInput">
...
<script>
function myFunction
{
...
}
window.onload = function() {
var myInput = document.getElementById('myInput');
myInput.onchange = myFunction;
}
</script>
這種方法可以讓你分開你的標記和腳本,並把所有的JS在一個地方。
它可以工作,但如果您加載了更多的HTML,並且瀏覽器在最後解析JavaScript所用的時間較長,則可能會出現問題。在這種情況下,你的功能將不會被定義,你會得到...
myFunction的()沒有定義
注意你需要添加開盤價和收盤括號((
& )
)之後myFunction
。
雖然函數聲明被掛起,但它們只在其包含的腳本塊中被掛起。
此外,你應該真的使用小寫標籤,它不是1998年:)而文檔類型也有幫助,最後,你應該嘗試從內聯屬性中刪除你的事件處理程序。
該腳本需要在DOM被執行前定義。如果腳本位於底部,則需要在使用前加載腳本。
多年來JavaScript的發展已經發生了變化。
不僅您的原始問題正在進行辯論,還要回到原始問題的主題,您的方法本身也是如此。
我強烈建議閱讀一些JavaScript最佳實踐上的這一小節: http://www.catswhocode.com/blog/best-practices-for-modern-javascript-development。
很簡單 - 是的。無論如何,你爲什麼要這麼做? – 2010-11-25 12:41:10