私はオブジェクトを作成しようとしていますが、呼び出された後にイベント処理の要素が作成されます。私はこの1つのオブジェクトにすべてを配置したいので、これらの要素によって呼び出されるイベントはthsiオブジェクトにもあります。問題は、他の方法でそれを行うべきかどうかが、それが最適かどうか分かりません。 JS OOPイベントハンドリングの変数とコンテキスト
"use strict";
var addFunctionBlock = (function(uarea){
var target = document.getElementById(uarea); // VS this.target
this.init = function(){
for(var a = 0; a < 5; a++){
this.button = document.createElement('button');
this.button.onclick = this.eventHandler;
this.button.style.width = "50px";
this.button.style.height = "20px";
target.appendChild(this.button)
}
};
this.eventHandler = function(ev){
target.appendChild(document.createTextNode(ev));
};
this.init();
});
は、その内部には、関数でオブジェクトをしないように、ボタンをポイントするボタンをクリックした後に呼び出さ
this.target
が、イベントとイベントを作成しようとしていたので、私は、変数
var target = ...
にそれをswapedが、私はあることそれはよく分かりません適切に(そしてそれは私がそれをこのようにしなければならないか、あるいはそれは悪いかもしれません)質問の1つです。それはグローバルスコープの他の変数に干渉することができますか(テストをパスしましたが、おそらく私は何かを見逃しました)?オブジェクトに変数を使用する必要がありますか(この)コンテキストを使用するときはいつですか?インターネット上で再調査しましたが、それについては何も見つかりませんでした。
のために行くことができます。ああ、感謝します。 'var aa = new addFunctionBlock(area);'私はこの同じオブジェクトの複数のインスタンスを持っています。だから私はそれをOOPスタイルにしたかったのです。配列について私はプログラム例で忘れていたことを知っていました:)。この関数(){}。bind()メソッドをありがとう!私のgithubで見ることができる完全なコード:https://github.com/underscorejasiu/elearning/blob/simple-drag-n-drop-game/pickndrop.js – Jasiu