menu
書いてる野郎
orebike@gmail.com
HTML の属性に直接書くことでもイベントに処理をフックできる。
もしいま hoge という関数が定義されていてその関数をある要素の click イベントにフックしたいならこうなる。
<div onclick="hoge()"> hit me </div>
onclick 属性に文字列として JS っぽい何かを書く
これの問題は addEventListener とかでできる Event オブジェクトが取得できないところだ。 しかし実はこの実行は内部ではこのようになっていてるように振る舞う
(function(event){ var hoge = function(){ // event という名前でつかえばよい }; hoge(); })(event);
なので event object は event という名前で関数中で暗黙で使えるようになっている。