0

JavaScript初心者です。コンストラクターにイベントを追加したい非 DOM 関数があります。

var class=function(){
/*
some code
*/

}
class.prototype.add=function(){

/*
adding item*/

}

今、カストラクタにイベントを追加したいと思います

var klass=new class;

class.onadd(function(){
/*execute on adding item*/
});

いろいろな機能をつけて何度もつけます。

イベントを追加して関数を呼び出すにはどうすればよいですか?

4

2 に答える 2

0

onハンドラーを収集する部分とイベントトリガーの2つの部分に分かれています。add

on、割り当てられたイベントに従ってハンドラーを収集します。

function yourConstructor(){
  this.events = {};
}

yourConstructor.prototype.on = function(eventName,handler){
  //create a property in `this.events` called `eventName` and put an array
  //in that array, store all handlers for that `eventName`
}

次に、関数 (この場合addは ) が特定のハンドラーを実行します。

yourConstructor.prototype.add = function(){
  //do what add does
  //then execute all handlers in this.events.add array
}
于 2013-04-13T06:20:31.730 に答える