1

イベントなどのプロトタイプ機能があります。

プロトタイプ

Func("input_element_id").event("keyup",function(){
    alert("Works on keyup in an Input!");
}

Func.prototype= {
    keyup: function(func){
         //adding event listener and callback using func
    },
    event: function(e,func) {
         //what to do here to call function "keyup"
    }
};

プロトタイプ名は変数にありますefunctionしかし、変数名を使用してそれを呼び出すにはどうすればよいですか?

これを行っているのは、「keyup keydown」を渡すと keyup リスナーと keydown リスナーが追加されるためです。これは、各プロトタイプ関数を個別に呼び出すよりも優れています。

ありがとう。

4

3 に答える 3

0

これbest wayを達成する方法は次のとおりです。

events: function(events,func) {
            this[events](func);
        }
    }

のおかげでCrazyTrain、彼が言及したようにComments

于 2013-07-22T14:46:31.333 に答える
0

で受信オブジェクトにアクセスしますthis

this.keyup(func);

適切なブラウザーまたは ES5 shim を想定すると、次のようにします。

e.split(" ").forEach(function(f) {
    this[f](func);
}, this);

ただし、それはドット演算子で使用されているオブジェクトであり、何でもかまいません。例えば:

var f = new Func("input_element_id");
window.event = f.event;
window.event(); // this is window
于 2013-07-21T14:53:20.100 に答える