我相對較新的JavaScript,所以這可能有點微不足道。但我似乎無法找到這個問題的答案。如何在JavaScript內部調用外部函數?
假設我有一個帶有函數的JavaScript文件(bar.js),名爲foo()。我想在腳本標記內調用這個函數(foo)。我希望它能像這樣工作。
<script type="text/javascript" src="bar.js">
foo();
</script>
我不能得到這個工作。我用瀏覽器運行了JavaScript控制檯,它似乎在做什麼......沒有。沒有語法錯誤或任何東西。
我可以運行一個類似的功能,只需點擊按鈕...使用上面的腳本標籤和這個。
<button type="button" onclick="foo();">Click Me</button>
我可以這樣做,但在實際情況下,我需要將參數傳遞到按鈕單擊時調用的函數。我也無法得到那些認可。我確信這與範圍有關。
我想這是像這樣的方式......
<script type="text/javascript" src="bar.js">
var a = "blah";
var b = "blab";
</script>
.... (some more html)
<button type="button" onclick="foo(a,b);">Click me </button>
在這裏,我得到一個是不確定的。這導致我認爲這是一個範圍問題。腳本標籤位於頭部,按鈕位於主體部分。你可以把腳本標籤放在頭部和身體標籤之外來製作全局數據嗎?
感謝您的幫助提前。
我以前從未使用過jsfiddle,並且無法正常工作,所以我只需在此處發佈示例代碼。
<html>
<head>
<script type="text/javascript" src="bar.js">
</script>
<!--From what yall say I should have another script
tag here for anything else. Say some variable?-->
<script type="text/javascript">
var a = "hello";
var b = "text";
</script>
</head>
<body>
<!--This should work now?-->
<button type="button" onclick="foo(b,a)">
Click me
</button>
</body>
</html>
bar.js內容:
function foo(id,string){
document.getElementById(id).innerHTML = string;
}
我得到了這個工作。 謝謝大家。
你可以發佈你在jsfiddle中試過的代碼嗎? – Bioto 2015-01-26 21:28:43
相關:[內聯腳本與SRC屬性?](http://stackoverflow.com/questions/1056325/javascript-inline-script-with-src-attribute) – 2015-01-26 21:36:55