手動トリガイベント

1296 ワード

DMM 2レベルイベントは、新たなイベントオブジェクトを作成する方法を提供します.createEvent()
createEvent()はパラメータ'eventType'を受信します.
createEvent()の戻るオブジェクトはeventTypeの値に依存します.
次の表はeventTypeの合法値と値ごとに作成されたイベントインターフェースです.
パラメータ
イベントインターフェース
初期化の方法
HTM LEvensts
HTMLEvent
iniEvent()
Mouse Events
MouseEvent
ini Mouse Event()
UEvents
UEvent
iniUEvent()
MozillaのcreatrEventに対する解釈:https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent
旧式のDOM 2レベルで手動でイベントをトリガする方法:
  var el=document.getElementById('***');
  el.addEventListener('change',handler,false);
  var evt;  
  if (document.createEvent) { // DOM Level 2 standard  
    evt = document.createEvent("MouseEvents");  
    evt.initEvent("change", true, true);
    el.dispatchEvent(evt); //   el    handler   
  }
しかし、この方法はすでにMozila公式に「提案放棄」と表示されています.
提案方法:

var event = new Event('build');
// Listen for the event.
elem.addEventListener('build', function (e) { ... }, false);
// Dispatch the event.
elem.dispatchEvent(event);
IEで直接fireeventを呼び出す(eventType)

var el=document.getElementById('***');
el.attachEvent('onclick',handler);
el.fireEvent('onclick');