【JavaScript】Eventオブジェクト - イベントをプログラムから発生させる

【JavaScript】Eventオブジェクト - イベントをプログラムから発生させる

JavaScriptでブラウザイベントをプログラムから発生させる方法を解説します。

イベントの生成

Eventオブジェクトのコンストラクタを使ってイベントを生成します。

基本構文

new Event(イベント種別)

サンプル

<button id="btn">ボタン</button>

<script type="text/javascript">
    function output() {
        console.log("Hello World");
    }
    
    let btn = document.getElementById('btn');
    btn.addEventListener('click', output);
    
    let e = new Event('click');
</script>

イベントの発生

DOMのdispatchEventメソッドを使ってイベントを発生します。

基本構文

変数.dispatchEvent(Eventオブジェクト)

サンプル

<button id="btn">ボタン</button>

<script type="text/javascript">
    function output() {
        console.log("Hello World");
    }
    
    let btn = document.getElementById('btn');
    btn.addEventListener('click', output);
    
    let e = new Event('click');
___diff_start
+    btn.dispatchEvent(e);
___diff_end
</script>
Hello World

ブラウザでボタンをクリックしなくても、コンソールにHello Worldを出力します。
このことからプログラムからイベントを発生できたことが分かります。