JavaScript 発生したイベントの種類を求める

最終更新日

発生したイベントの種類を求めるには、イベントオブジェクトの「type」プロパティを参照します。また、「target」プロパティにはイベントが発生した要素への参照が入っているため、要素名や要素そのおのを操作することもできます。なお、発生したイベントに応じて処理を振り分けることもできます。

主なイベント

イベント説明
clickクリック
dblclickダブルクリック
mouseoverマウスオーバー
mouseoutマウスアウト
mousemoveマウス移動
keydownキーが押された
keyupキーが離された
 <body>
<script>
    window.addEventListener("load" , function(){

        //body要素のイベントをキャプチャー
        document.body.addEventListener("click",outputType,false);
        document.body.addEventListener("mousemove",outputType,false);
    }, false);

    //イベントの種類を表示
    function outputType(evt){
        var ele = document.getElementsByTagName("output")[0];
        //イベントの種類を求める
        var evtType = evt.type;
        //イベントが発生した要素
        var evtElelement = evt.target.tagName;

        ele.innerHTML = "種類:"+evtType+"<br>";
        ele.innerHTML += "要素:"+evtElelement+"<br>";

        //イベントの伝達を禁止
        evt.stopPropagation();
    }
</script>
<h1>発生したイベントの種類</h1>
<output></output>
</body>

ページ上にマウスを移動させるかクリックすると、イベントの種類と発生したタグ名が表示されます。

実行結果

画面書き換えのタイミングや処理速度が速すぎるため、種類のところにclickが表示されない場合があります。その場合は、console.log()メソッドを使ってevtTypeを出力すると確認ができます。