这是我为学习 js 编写的图片库中的一些清理代码。我将画廊创建为一个对象,但在某些时候我忘记了“this”指向的内容。底部发生的事情对我来说没有意义(查看评论)。有人可以解释一下吗?
function Gallery(parentID)
{
// ...
this.showDiv = document.createElement("div");
// ...
this.show = function ()
{
document.body.appendChild(this.showDiv); //will be given css absolute position to "pop up"
this.showDiv.innerHTML = '<img class="displayImage" src="' + this.picList[this.showIndex] + '">'; //fill with image
this.showDiv.focus();
this.showDiv.onclick = this.hide;
}
this.hide = function ()
{
alert(this.innerHTML); // <= WHY DOES THIS SHOW THE INNERHTML CONTENTS OF this.showDiv??????
//alert(this.showDiv.innerHTML); // <= shouldnt this be correct?
this.parentNode.removeChild(this); //doesnt work
}
}
让我知道我是否清理了一些可能影响结果的代码并填写错误。
谢谢。