Html5 canvas 将脚本添加到网页以在光标悬停在HTML5画布上的图像上时更改段落内容
我有一个HTML5画布,它显示了许多图像。我在画布下方的页面上也有一些简单的HTML标签 当光标悬停在这些图像上时,我想更新Html5 canvas 将脚本添加到网页以在光标悬停在HTML5画布上的图像上时更改段落内容,html5-canvas,javascript,Html5 Canvas,Javascript,我有一个HTML5画布,它显示了许多图像。我在画布下方的页面上也有一些简单的HTML标签 当光标悬停在这些图像上时,我想更新标记的内容,我在上找到了一个快速教程:它似乎建议可以教你如何做 但是,我已经学习了教程,当我现在在浏览器中查看我的页面时,我得到一个控制台错误,上面说 getElementByTagName不是函数 我以前没有见过这个函数,我只是想知道它是一个预定义的函数,还是教程的作者自己定义的函数。。。?我在那个页面上看不到作者定义函数的任何内容,所以我认为它可能是预定义的,但我不确定
标记的内容,我在上找到了一个快速教程:它似乎建议可以教你如何做
但是,我已经学习了教程,当我现在在浏览器中查看我的页面时,我得到一个控制台错误,上面说
getElementByTagName不是函数 我以前没有见过这个函数,我只是想知道它是一个预定义的函数,还是教程的作者自己定义的函数。。。?我在那个页面上看不到作者定义函数的任何内容,所以我认为它可能是预定义的,但我不确定。有人知道吗 编辑 好的,更正了错误,修复了它,现在调用函数。但是,我目前正在从我的
窗口.onload
函数调用它,因此一旦页面加载,段落就已经被更新了-它实际上并不以调用onmouseover
事件为条件
我的窗口。onload
函数如下所示:
window.onload = function () {
var sources = [];
sources[0] = document.getElementById("building").src,
sources[1] = document.getElementById("chair").src,
sources[2] = document.getElementById("drink").src,
sources[3] = document.getElementById("food").src,
/*There are roughly 30 lines like this adding images in the same way */
if (document.getElementById) {
var x = document.getElementById('mouseovers')
.getElementsByTagName('IMG');
} else if (document.all) {
var x = document.all['mouseovers'].all.tags('IMG');
} else {
return;
}
for (var i = 0; i < x.length; i++) {
console.log("for loop adding onmouseovers is being called");
x[i].onmouseover = displayAssetDescriptionTip();
}
loadImages(sources, drawImage);
drawGameElements();
drawDescriptionBoxes();
stage.add(imagesLayer);
};
function displayAssetDescriptionTip() {
if (document.getElementById) {
var x = document.getElementById('mouseovers')
.getElementsByTagName('IMG');
} else if(document.all) {
var x = document.all['mouseovers'].all.tags('IMG');
}else {
return;
}
for (var i = 0; i < x.length; i++) {
console.log("for loop adding onmouseovers is being called");
x[i].onmouseover = displayAssetDescriptionTip();
}
document.getElementById('tipsParagraph').innerHTML = "Assets are items that"
+ " can be bought or sold for cash.";
console.log("displayAssetDescriptionTip being called");
}
但是,当我将光标悬停在已添加的图像上时,
onmouseover
事件似乎没有触发-知道原因吗?getElementByTagName不是函数。
getElementsByTagName是:)
它是复数形式,因为它返回与给定标记匹配的每个元素。网站告诉我,我在10分钟内不能接受你的答案,那么我会接受的。不麻烦。任何需要的帮助,你都知道我们在哪里!嘿,这里-我编辑了我的原始帖子,问了一个后续问题,关于我应该在文件中的何处放置代码来更新
/code>标记。任何建议都将不胜感激。这个问题已经有了答案,所以最好取消编辑并创建一个新的:)