イベントの伝播を止める

hogehoge - addEventListener の第三引数についてでイベントの bubblingcapturing について書いたけど、このイベントの伝播を止める方法が分かったのでメモ。

event.stopPropagation();

Firefox等ではこれで良し。IEとかでは

event.cancelBubble = true;

まとめるとこんな感じか

function hogeHandle( evt ){
  evt = evt ? evt : event;
  if ( evt.stopPropagation ){
    evt.stopPropagation();
  } else if ( typeof(evt.cancelBubble) !== 'undefined' ){
    evt.cancelBubble = true;
  }
}

あとで検索してみたらいろいろ既出だった...orz