JavaScript自動トリガイベント

1106 ワード

人為的な操作を必要とせずに、コードが対応するイベントを自動的にトリガする必要がある場合があります.たとえば、ボタンのクリックイベントは、クリックせずに自動的に実行されます.
まずイベントを定義し,まず従来のonclick方式に従う.(ここではあるタグイベントをクリックして梨とします)
var xx = document.getElementById("xx");
xx.onclick = function(){
        alert( this.innerHTML );
}

トリガーイベント:
 xx.click();  // IE8+,chrome,FF

次のこともできます.
  xx.onclick();

しかし,この方式の本質はonclickが指す関数を実行することである.
addEventListenerでイベントを追加する場合、xx.onclick()この方法ではイベントコード実行をトリガーできません.
以上、イベントをトリガするには、類似xxを用いる.click()でいいです.
-------------------------------2019.8.4更新------------------------
資料を調べた後、コードによってイベントを自動的にトリガーするか、以下のようなコードを使うほうが科学的です.


    let btn = document.getElementById("mybtn");
    btn.addEventListener("mouseenter",function(){
       console.info("    !");
    });
    //      ,   mouseenter   。       。
    let  ev = new Event("mouseenter");
    btn.dispatchEvent(ev);

new Event()は、イベントオブジェクトを作成します.このイベントは、ラベルのdispatchEventメソッドによってトリガーされます.