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

イベントハンドラにイベント処理中の要素を操作するためのショートカット引数を追加 #184

Closed
simdy opened this issue Mar 14, 2013 · 1 comment
Assignees
Milestone

Comments

@simdy
Copy link
Member

simdy commented Mar 14, 2013

通常イベントハンドラを(elem.addEventListener()で)追加すると、thisはそのハンドラを追加した要素そのものを指す。
一方、hifiveのコントローラのイベントハンドラではthisはコントローラインスタンスを指す。

ver.1.1.3までは、現在のイベント発生要素を操作したい場合は
context.event.currentTarget(または.target)として要素を参照する必要があるが、
イベントハンドラではその対象要素を操作したい場合が多いので、
上記の場合の"this"に相当するショートカット引数を追加する。

具体的には、イベントハンドラの第2引数にcontext.event.currentTargetをセットするようにする。
addEventListener()の場合のthisに相当するのは(targetではなく)currentTargetと考えるのが自然なので、currentTargetをセットする。

また、その際予めjQueryでくるんだ状態で渡すようにする(ユーザーがくるむ手間を省くため)。
くるむかどうかはsettingsで設定可能にする。

なお、この引数はインターセプタでも同様に参照可能(invocation.args[1]を参照すればよい)。

@simdy
Copy link
Member Author

simdy commented Mar 14, 2013

第2引数の形式は h5.settings.listenerElementType で指定可能。
デフォルトではjQueryオブジェクト化して渡すようになっている。

fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue Apr 19, 2013
@simdy simdy closed this as completed Apr 22, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant