)ver1.6〜機能イベントオブジェクトを作成します。イベントオブジェクトとはイベント発生時に実行するfunctionに渡されるobjectオブジェクトで、様々なプロパティやメソッドを持っています。triggerでしか利用しません。ver1.6からは第2引数にobjectオブジェクトを設定することで、イベント発生時に実行するfunctionに情報を渡すことができます。解説イベントオブジェクトを作成するサンプル(event/01.html)を開いてbody内にdiv要素とbutton要素があることを確認してください。onメソッドを利用して、div要素をクリックしたらアラートで「click」と表示するようにしています。functionの引数としてイベントオブジェクト(サンプルでは変数eo)を受け取っていますが利用はしていません。この処理により、div要素をクリックするとアラートで「click」と表示されます。(eo){alert("click");});そしてポイントは以下の部分です。2行目でjQuery.Eventメソッドを利用して「click」のイベントオブジェクトを作成して変数eoに代入しています。triggerメソッドの引数に利用することで、セレクタのdiv要素に設定されたクリック時の処理(function)を実行することができます。});結果として、buttonをクリックするとdiv要素をクリックしたのと同じようにアラートで「click」と表示されます。javaScriptではオブジェクトを作成する際には「new演算子」を利用するのですが、イベントオブジェクトは利用しません。「new演算子」を付けてもOKです。});objectオブジェクトをfunctionに渡すv1.6からは第2引数にobjectオブジェクトを設定することで、functionに情報を渡すことができます。サンプル(event/02.html)を開いてbody内の構成はevent/01.htmlと同じ事を確認してください。jQueryもほとんど同じで、異なるのは以下のようにjQuery.Eventの第2引数にobjectオブジェクトが設定されている点だけです。objectオブジェクトにはtestプロパティが作成され値として10が設定されています。この処理によってイベントオブジェクトにtestプロパティ(値は10)が追加されます。});続いてtriggerメソッドによって実行されるclickイベントの処理を確認します。以下の様に受け取ったイベントオブジェクト(eo)のtestプロパティの値をアラートで表示します。(eo){alert(eo.test);});結果として、buttonをクリックするとイベントオブジェクトに設定されたtestプロパティの値「10」が表示されます。div要素をクリックした場合はtestプロパティは送られないため「undefined」と表示されます。dataプロパティを通して渡すことになります。このサンプルではイベントオブジェクトに直接プロパティを追加しているためdataプロパティを介する必要はありません。関連項目jQueryのイベントオブジェクトには多数のプロパティやメソッドが設定されています。これらは正規化(ブラウザ間の差異が吸収)されているため、どのブラウザでも同じように機能します。メモイベントオブジェクトを削除してしまうメソッドイベントオブジェクトに利用するメソッドの中にはイベントオブジェクトを削除してしまうものがあります。サンプル(event/test01.html)を開いてbody内の構成がevent/01.htmlと同じ事を確認してください。stopPropagationメソッドが利用されている点だけです。});結果として、event/01.htmlと異なりbuttonをクリックしてもアラートが表示されません。triggerメソッドが処理できないからです。stopImmediatePropagationメソッドがイベントオブジェクトを削除してしまいます。この2つのメソッドはイベントフローを停止させる機能があるので、たぶんイベントオブジェクトを削除することでイベントの流れを止めているのでしょう。jQueryのイベントオブジェクトにはjavaScriptのイベントオブジェクトプロパティも付属しますjQueryのイベントオブジェクトはjavaScriptのイベントオブジェクトも継承しているため、javaScriptのイベントオブジェクトのプロパティやメソッドも利用することができます。サンプル(event/test02.html)を開いてbody内にdiv要素が1つあることを確認してください。jQueryは以下の様に記述され、div要素がクリックされたら、受けたったイベントオブジェクト(eo)のscreenXプロパティの値をアラートで表示します。イベントオブジェクトはjQuery.Eventで作成しなくても、デフォルトでイベントハンドラの第1引数に渡されます。(eo){alert(eo.screenX);});screenXプロパティはjQueryのプロパティではなくjavaScriptが持つプロパティで、イベントが発生した「モニター上のX座標(ページ上ではありません)」の値が入っています。結果として、div要素をクリックするとクリックした座標(モニター上の座標)のX座標が表示されます。javaScriptのイベントオブジェクトに設定されるプロパティは環境によって差があり、すべての環境で利用できるとは限らないことに注意してください。環境に特有なプロパティを調査することで、スマートフォンの処理などもできるのです。