SSブログ

addEventListener [JavaScript]

object.addEventListener メソッド

object.addEventListener(event, function, capture)

これがなくちゃ JavaScript が始まらない、イベントハンドラの登録メソッド。

主要なブラウザの中では、FirefoxSafariGoogle Chrome が対応しています。

Internet Explorer 8Opera は対応していません(これらのブラウザでは、attachEvent メソッドを使います)。

組み込みクラスの中で、Object クラス、HTMLDocument クラス、Element クラスなどに準備されているメソッドで、イベントハンドラの登録に使います。

第一引数 event はイベント名文字列(プレフィックスに 'on' を含まない)、第二引数 function は実行するイベントハンドラ メソッド、第三引数 capture はキャプチャー(Boolean 型)です。

第一引数と第二引数は attachEvent メソッドとほぼ同じとして、第三引数のキャプチャーがおもしろいです。

続きを読む


detachEvent [JavaScript]

object.detachEvent メソッド

object.detachEvent(event, function)

attachEvent で登録したイベントハンドラを開放するのが、detachEvent の役割です。

attachEvent 同様、主要なブラウザの中では、Internet ExplorerOpera が対応しています。

FirefoxSafariGoogle Chrome は対応していません(これらのブラウザは removeEventListener メソッドを使います)。

組み込みクラスの中で、Object クラス、HTMLDocument クラス、Element クラスなどに準備されているメソッドです。

第一引数 event はイベント名文字列(プレフィックスに 'on' を含む)、第二引数 function は登録されているイベントハンドラ メソッドです。

attachEventdetachEvent を使うと、<body onload="hoge();"> なんていう恰好悪い書き方をしなくても、 window のロードを検知して JavaScript を起動する処理を、スマートに書くことができます。

・・・・・・なお。

detachEvent でも、解放できないイベントハンドラがあるので、注意が必要です。

【注意】:匿名関数イベントハンドラの開放について、追記があります。

続きを読む


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。