我正在创建一个Javascript对象,如下所示:
function pager(elementId) {
this.totalPages = 5;
this.currentPage = 1;
var nextPageImage = document.createElement("img");
nextPageImage.src = "img/next.png";
nextPageImage.onclick = function(){
if (this.currentPage+1 <= this.totalPages)
{
this.currentPage +=1;
}
}
document.getElementById(elementId).appendChild(nextPageImage);
}
我通过在页面上传递div的id来创建对象的实例:
myPager = new pager('pagerDiv');
问题是onclick函数中的"this"指的是图像本身,而不是寻呼机对象。我可以使用"myPager"引用寻呼机对象,但这不是很实用。
如何从image onclick函数中引用对象?
创建一个表示"this"的局部变量,然后使用它:
function pager(elementId) {
this.totalPages = 5;
this.currentPage = 1;
var th = this;
var nextPageImage = document.createElement("img");
nextPageImage.src = "img/next.png";
nextPageImage.onclick = function(){
if (th.currentPage+1 <= th.totalPages)
{
th.currentPage +=1;
}
}
document.getElementById(elementId).appendChild(nextPageImage);
}