我有一个名为paperClass的对象(尽管我知道,JScript中不存在类)。这包含对divElement的引用。现在,通过悬停divElement我想获得对paperClass对象的引用。我尝试了以下方式:
function paperClass(){
this.divElement = $("#divElementID");
this.divElement.paperElement = this;
this.divElement.hover(this.handleHover);
console.log(this.divElement.attr("id")); // -> divElementID
console.log(this.divElement.paperElement); // -> paperClass Object
}
paperClass.prototype.handleHover = function(event){
console.log(this.id); // -> divElementID
console.log($(this).attr("id")); // -> divElementID
console.log(this.paperElement); // -> undefined (which seems ok to me)
console.log($(this).paperElement); // -> undefined (WHY????)
}
我还尝试了.attr()和$ data()方法。不幸的是我没有成功。你有什么想法?非常感谢您的帮助。
答案 0 :(得分:0)
该行
console.log($(this).paperElement); // -> undefined (WHY????)
未定义paperElement
属性,因为它仅存在于绑定到this.divElement
的特定jQuery对象中。
如果您创建了一个新的jQuery对象,它将只有jQuery库设置的默认属性。
请改为尝试:
function paperClass(){
this.divElement = $("#divElementID");
this.divElement[0].paperElement = this; // change this line
this.divElement.hover(this.handleHover);
console.log(this.divElement.attr("id"));
console.log(this.divElement.paperElement);
}
paperClass.prototype.handleHover = function(event){
console.log(this.id);
console.log(this.paperElement);
}