長いタイトルで申し訳ありませんが、私の問題を要約していると思います
私は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>
クリックしたときに単にテキストボックスに何かを書き込もうとしているわけではありませんが、上記は私がここで達成しようとしていることの単純化されたバージョンです。
これ(オブジェクト)をオブジェクト関数のネストされた関数に渡す
または、これを達成するためのはるかに良い方法はありますか?