Skip to content

JSオブジェクト(非DOM要素)に対してセットしたハンドラが呼ばれた時のイベントオブジェクトとthisの扱い #353

@simdy

Description

@simdy

ver.1.1.11より、hifiveではEventDispatcherのmixinを提供している。
これにより、通常のJavaScriptオブジェクト(非DOMオブジェクト)についても
add/removeEventListener()インターフェースを実装して
(DOM Eventsと同様のI/Fで)イベントの登録・発火・受信ができる。

しかし、非DOMオブジェクトの場合、イベントのバブリングという概念は通常存在せず、
またhifiveのMixin、およびhifive以外のライブラリの同様の実装でも、
イベントハンドラに渡されるオブジェクト(イベントオブジェクト)は
DOMのEventインターフェースを完全に実装していないことが多い。
かつ、非DOMオブジェクトあくまで登録・削除などのインターフェースを同じにしておくのが目的で
DOM EventsのPolyfillが目的ではない。

現在のhifiveはイベントオブジェクトはjQuery Eventオブジェクトとしてくるみ、
古いIEなどでのインターフェースの違いを吸収しインターフェースをそろえているが、
非DOMオブジェクトについては(そもそもDOMのイベントではないので)
jQuery Eventオブジェクトでくるむ必要はない。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions