将此(对象)传递到一个对象方法嵌套方法中
passing this (the object) into one of the objects methods nested methods
很抱歉标题太长,但我认为它总结了我的问题
我创建了一个jsfiddle来减少并创建一个关于我的困境的简化问题http://jsfiddle.net/afw6k/3/
<input id="txtA"/>
<!-- after setupOnclick is executed my onlick for txtA should be onclick="someObj.log("Clicked!")"-->
<script>
function someObject(field){
this.field = field;
this.log = function(msg){
if(this.field.value != "") this.field.value += ", ";
this.field.value += msg
}
this.setupOnlick = function(){
field.onlick = function(){//So how do I pass this (as in someObject) to this?
this.log("Clicked!"); //As if I have written someObj.log("Clicked!");
}
}
}
var someObj = new someObject(document.getElementById("txtA"));
someObj.setupOnlick();
</script>
我并不是想在点击时简单地在文本框中写一些东西,但上面是我在这里试图实现的简化版本。
将此(对象)传递到对象函数嵌套函数
或者有更好的方法来实现这一点吗?
将this
保存在变量中:
this.setupOnlick = function(){
var theObj = this;
field.onlick = function(){//So how do I pass this (as in someObject) to this?
theObj.log("Clicked!"); //As if I have written someObj.log("Clicked!");
}
}
this
的值只是一个值,因此它可以复制到另一个变量。变量"theObj"在运行时将保留在"click"处理程序的作用域中。
相关文章:
- 从 javascript 中的对象方法返回一个对象
- 什么'是从对象列表中一次编辑一个对象的正确Angular/Firebase方法
- 有没有一种方法可以创建一个对象并同时为其指定一个动态特性
- 从一个对象中找出所有方法
- 将此(对象)传递到一个对象方法嵌套方法中
- 为对象原型提供一个方法,该方法指向对象自身属性的值
- 用javascript在一个对象的两个键上声明两个数组的简洁方法是什么
- 你能得到一个方法的对象吗?
- Javascript:如何在不复制但链接的情况下将另一个对象 B 的方法混合到我的对象 A
- 将第一个(对象的)数组的属性复制到不同长度的另一个(对象)数组的Javascript方法
- 如何测试 javascript 方法是否创建一个对象并调用该对象上的方法
- Jquery:扩展一个对象来修改一个方法
- 从JSON创建一个对象,并在Javascript中给它一些方法
- JavaScript - 尝试从另一个对象内部访问一个对象方法,得到未定义的错误
- 在Javascript中声明一个对象上的方法时,如何正确引用该对象上的一个方法集
- 与许多事件侦听器和函数引用一个对象相比,什么是更好的方法
- 将__proto__值从一个对象复制到另一个对象的正确方法
- jQuery使用一个对象's方法作为事件处理程序
- 为什么一个对象的方法不适用于另一个对象
- 如何将一个方法的返回值赋给Javascript中的另一个对象属性?