Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
simdy opened this issue Jun 17, 2014 · 1 comment
Assignees
Milestone

Comments

@simdy
Copy link
Member

@simdy simdy commented Jun 17, 2014

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オブジェクトでくるむ必要はない。

@simdy simdy added this to the v1.1.12 milestone Jun 17, 2014
@simdy simdy added the enhancement label Jun 17, 2014
@simdy
Copy link
Member Author

@simdy simdy commented Jun 18, 2014

非DOMオブジェクトについては、jQueryを使用せず、
add/removeEventListenerインターフェースを直接使ってイベントリスナを登録する。
従って、イベントオブジェクトのjQueryによるラッピングも行わない。

fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue Jul 1, 2014
windowオブジェクトかどうか判定するisWindowObjectをh5scopeglobalに作成しました。
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue Jul 1, 2014
オブジェクトにバインドした時の引数を確認するテストケースを追加しました。
既存のケースを修正しました。
fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue Jul 1, 2014
registerWithUnbindList→registerWithBoundHandlers にリネームしました。
@simdy simdy closed this Jul 1, 2014
@simdy simdy added the specchange label Jul 2, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.