我的功能未在JavaScript中运行
问题描述:
如何让此代码在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();
}
答
您需要在prepareEventHandlers()删除var
,因为你所谓的声明MYIMAGE一个新的局部变量,而不是分配外一个。
var myImage;
function prepareEventHandlers() {
myImage = document.getElementById('mainImage');
}
答
删除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();
}
是什么让你觉得“你的功能没有运行”?如果你打开浏览器的控制台,你会发现类似'TypeError:myImage is undefined'。所以这个函数会运行,但会抛出一个错误。 – Oriol 2014-08-29 02:20:06