Skip to content

Instantly share code, notes, and snippets.

@murayama
Created July 9, 2013 01:16
Show Gist options
  • Save murayama/5953872 to your computer and use it in GitHub Desktop.
Save murayama/5953872 to your computer and use it in GitHub Desktop.
preventDefaultとstopPropagation

stopPropagation

stopPropagation メソッドは、イベントフローにおいてこれ以上イベントが伝えられるのを止めるために使用します。

preventDefault

preventDefault メソッドを使用するとイベントのキャンセルを通知できるため、そのイベントの結果として通常は実装により実行されるデフォルトのアクションが実行されません。

イベントの伝播

イベントの伝播はOpera,FireFoxとかとIEでは逆になる IEはイベントバブリング方式、それいがいはイベントキャプチャリング方式

addEventListenerの第3引数に false を指定すれば「イベントバブリング方式」で動作する

IE でのイベントキャンセル

IE はEvent.preventDefault() と Event.stopPropagation() に対応していないが、 その代わりに、グローバル変数 event のプロパティである returnValue と cancelBubble を使う。

  • Firefox, Opera
    ** Event.preventDefault();

  • IE ** event.returnValue = false;

  • Firefox, Opera ** Event.stopPropagation();

  • IE ** event.cancelBubble = true;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment