タグ

2007年2月15日のブックマーク (2件)

  • イベントに処理を追加する - JavaScript

    たとえば、initOther()という関数をロード時に実行したいとします。 通常は、次のようなコードになると思います。 function initOther () { //何らかの処理 } window.onload = initOther; しかし、すでに window.onload に関数が割り当てられている場合、割り当てられている関数が実行されなくなります。 たとえば、 <body onload="initMain()"> ...</body> とあれば、window.onload = initOther; のために initMain() は実行されません。 そこで、addEventListener() メソッドを使用します。Internet Explorerでは addEventListener() メソッドが使えませんので、代わりに attachEvent() メソッドを使用しま

    miya2000
    miya2000 2007/02/15
    「attachEvent() メソッドで登録した関数は…、実行順の規則がわかりませんでした。」
  • JavaScript addEventListener() - とみぞーノート

    仕様書を読んでもわかりにくい、addEventListener()の第3引数useCaptureの意味についてのメモ。 addEventListener()はIEでは未実装なので関係なし。 以下はFireFoxで確認。 useCaptureの意味 通常登録したイベントハンドラ(*1)はイベント伝搬のバブリングフェーズで呼ばれる。このため、DOM Treeの下の方のエレメントからイベントハンドラが順番に呼ばれる。 useCaptureをtrueにしてイベントハンドラを登録すると、キャプチャフェーズでイベントハンドラが呼ばれるようになる。このため、その他のイベントハンドラに先だって呼び出されるようになる。 (*1) 以下のものが含まれる。 DOMエレメントのプロパティに設定したイベントハンドラ(element.onmousedown = handler) HTMLタグに埋め込んだイベントハンド