我想了解如何获取对象声明中关联的变量名称。 通过一个例子更容易描述这个问题,所以:
function MyObject (){
this.NeedToKnow = "";
this.getLink = function() {
html = '<a href="javascipt:' +this.NeedToKnow+'.doIt(passVal) ">M</a>';
return html;
}
this.doIt = function(passVal) {
//do stuff
}
}
varNeedToKnow = new MyObject ();
var html = varNeedToKnow .getLink();
所以我的问题是,如何找出“varNeedToKnow”来填充对象内的 this.NeedToKnow ?
这可能吗?
最佳答案
我的处理方法略有不同,您可以更直接地与 DOM/事件处理程序交互。这样做就不需要在对象范围之外公开函数名称,因为单击事件现在直接绑定(bind)到函数本身。
function MyObject (){
this.getLink = function() {
var a = document.createElement('a');
a.innerHTML = 'MyLink';
if(a.addEventListener) {
a.addEventListener('click', this.doStuff, false);
} else {
a.attachEvent('onclick', this.doStuff);
}
return a;
};
this.doStuff = function(passVal) {
//do stuff
};
}
var varNeedToKnow = new MyObject ();
var element = varNeedToKnow.getLink();
//element now contains an actual DOM element with a click event bound to your doStuff function
关于javascript - 如何找出javascript对象关联的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25864155/