特別なイベント(バブリングしないイベント)へのイベントハンドラの設定
特別なイベント(バブリングしないイベント)へのイベントハンドラの設定
hifiveでは、イベントハンドラを紐付ける際に、(要素に直接addEventListenerするのではなく)
コントローラをバインドした要素にハンドラをaddし、
バブリングしてきた要素とセレクタをマッチングさせ処理を行うかどうかの判断をしています。
(内部的にはjQuery.live, jQuery.delegateを使用しています。)
これは、ハンドラの管理を容易にし、パフォーマンスを最適化するために行われています。
(イベントのバブリングについては「イベント バブリング」などのキーワードで検索してください。)
しかし、scrollやresizeなど一部のイベントはバブリングしません。
そこでhifiveでは、バブリングしないイベントのためにハンドラを要素に直接バインドする手段を用意しています。
やり方は簡単です。鍵括弧で囲むだけです。
こうすると、windowオブジェクトでscrollイベントが発生した場合にハンドラを動作させることができます。