我正在创建一个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'是指图像本身而不是pager对象。我可以使用'myPager'来引用寻呼机对象,但这不是很实用。
如何从图像onclick函数中引用对象?
答案 0 :(得分:3)
创建一个表示“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);
}