LoginSignup
1
1

More than 5 years have passed since last update.

【ライブラリ】超シンプルに、イベントハンドリング用の関数

Last updated at Posted at 2015-08-20

IE8以前のための実装。IE9以降なら不要

Javascriptで任意のイベントに対して処理の付加と削除をする関数。イベントハンドラではなくイベントリスナーを使ったもの

  • element.addEventListener()element.attachEvent()を使う
  • element.onXXXは上書き問題があるので使わない

IE8以前をサポートしなくていいのであればelement.addEventListener()系のみでいいので不要。

// イベントに対して処理を付加
function ae(el, ev, fn){
    if (el.addEventListener) {
        el.addEventListener(ev, fn, false);
    } else if(el.attachEvent) {
        el.attachEvent('on' + ev, fn);
    }
}

// イベントに対して処理を削除
function re(el, ev, fn){
    if (el.removeEventListener) {
        el.removeEventListener(ev, fn, false);
    } else if(el.detachEvent) {
        el.detachEvent('on' + ev, fn);
    }
}

// ページのDOMツリー構築後に実行(要するにwindow.onload)
function ale(fn){
    if (window.addEventListener) {
        window.addEventListener('load', fn, false);
    } else if(window.attachEvent) {
        window.attachEvent('onload', fn);
    } else {
        window.onload = fn;
    }
}

Javascriptの便利なライブラリ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1