2014-08-29 47 views
0

如何讓此代碼在HTML的「head」標記中工作?我必須使用這兩個函數,並且不能只使用一個函數。我知道這是不好的做法,但我會如何去做這件事?感謝您的幫助。我的功能未在JavaScript中運行

var myImage; 
function prepareEventHandlers() { 
    var myImage = document.getElementById('mainImage'); 
} 

function runEvents() { 
    myImage.onclick = function() { 
     alert('You clicked on the image.'); 
    }; 
} 

window.onload = function() { 
    prepareEventHandlers(); 
    runEvents(); 
} 
+0

是什麼讓你覺得「你的功能沒有運行」?如果你打開瀏覽器的控制檯,你會發現類似'TypeError:myImage is undefined'。所以這個函數會運行,但會拋出一個錯誤。 – Oriol 2014-08-29 02:20:06

回答

3

您需要在prepareEventHandlers()刪除var,因爲你所謂的聲明MYIMAGE一個新的局部變量,而不是分配外一個。

var myImage; 

    function prepareEventHandlers() { 
     myImage = document.getElementById('mainImage'); 
    } 
3

刪除prepareEventHandlers()函數中的「var」。

var myImage; 

function prepareEventHandlers() { 
    myImage = document.getElementById('mainImage'); 
} 

function runEvents() { 
    myImage.onclick = function() { 
     alert('You clicked on the image.'); 
    }; 
} 

window.onload = function() { 
    prepareEventHandlers(); 
    runEvents(); 
}