Closed 3bch closed 10 years ago
Mix-in API(h5.u.obj.mix())を追加し、EventDispatcherをMixinの一つとして公開することとします。
EventDispatcherはh5.mixin.EventDispatcherMixin
にて公開され、
h5.u.obj.mix(target, h5.mixin.EventDispatcherMixin)
のように呼ぶと利用できます。
(targetは、EventDispatcher機能を追加するオブジェクトを指定してください。
特定のオブジェクト全体に追加したい場合、prototypeプロパティのオブジェクトに対して使用することも可能です。)
Mix-inのAPIを変更します。 以下のように、h5.mixin.eventDispatcher.mix()メソッドを呼び出すようにしてください。
var obj = {};
h5.mixin.eventDispatcher.mix(obj);
対応しました。
var obj = {};
h5.mixin.eventDispatcher.mix(obj);
でEventDispatcherの機能を持つオブジェクトを作成できます。
EventDispatcherの機能をプロトタイプに持つクラスを作成したい場合は、以下のようにprototypeオブジェクトにmixinすることで作成できます。
function MyClass(){
/* コンストラクタ */
}
h5.mixin.eventDispatcher.mix(MyClass.prototype);
var myobj = new MyClass();
// myobjはEventDispatcherを継承しているので、以下のように使用可能
myobj.addEventListener('myevent', function(){/* イベントハンドラ */});
myobj.dispatchEvent('myevent');
h5.core.data.js に定義されている EventDispatcher を継承して独自のクラスを作成したいのですが、EventDispatcher を hifive の外から取得することができませんでした。
EventDispatcher を外部に公開してもらうことはできないでしょうか?