2013-07-02 25 views
1

我想要什麼工作,但是在這個問題中,這個代碼是通過將onclick事件移動到內聯代碼來工作的?的onclick不是在外部JS文件的工作,但在在線

不工作:下面寫在外部代碼的js文件

function changeColor(){ 
    document.getElementById("headline").style.color = "red"; 
} 

document.getElementById("headline").onclick = changeColor; 

作品:繼寫在外部JS文件(功能是一樣的)代碼:

function changeColor(){ 
    document.getElementById("headline").style.color = "red"; 
} 

...這寫在內聯代碼:

<h1 id="headline" onclick="changeColor()">with inline code this text change color on click</h1> 
+0

控制檯中的任何錯誤?它是否出現在元素之後?如果不是它包裹在window.onload? – PSL

+0

在JSFiddle中工作正常:http://jsfiddle.net/Wm6Qv/ – bpeterson76

+0

由於@ bpeterson76說,它似乎工作正常。 –

回答

4

如果沒有看到更多的代碼,我會假設您正在創建並綁定HTML文件的<head>中加載的JavaScript文件中的changeColor()函數。

如果是這樣,帶有id標題的元素還不存在(JavaScript文件在HTML完全加載之前正在處理),所以你試圖綁定到一個不存在的元素。

如果是這樣的話,無論是移動你的腳本包括對<body>元素的底部,或包裹在this jsFiddle看到在window.onload功能的結合。

+0

仍然不知道錯誤的意思是否符合所有推定。所以你的提示很可愛,非常感謝! – VoteForPedro

相關問題