2017-03-26 12 views

答えて

0

「ClassB」インスタンスだけが「ClassB」インスタンスによって送出されるイベントをリスンするため、これが起こります。あなたのクラスを作成するときは、以下のとおりです。のEventDispatcher

  • は「someEvent」のthis
  • にリスナーを追加し、(のみ)ClassBのインスタンスは「someEvent」を派遣された中で混合

    ClassAインスタンスは、ClassBインスタンスによってディスパッチされたイベントをキャッチしません。各クラスはイベント自体をリスンするためです。

    イベントをClassBから取得する場合は、そのイベントを設定する必要があります。あなたは、コンストラクタでprototypeへのEventDispatcherに混合されていることも

    var a = new ClassA(); 
    var b = new ClassB(); 
    b.addEventListener("someEvent", a.someFunction); 
    

    注意。プロトタイプに入れたい場合は、コンストラクタの外に追加します。それ以外の場合は毎回発生します。あなたが1つのインスタンスの上だけでそれを望むなら、それをコンストラクタに入れますが、Class.prototypeの代わりにthisを渡すだけです。

    class ClassB { 
        // stuff 
    } 
    createjs.EventDispatcher.initialize(ClassB.prototype); 
    

    また、EventDispatcherを拡張するだけです。

    Class B extends createjs.EventDispatcher { 
        // stuff 
    } 
    
  • 関連する問題