yano3nora
7/2/2017 - 9:28 AM

[js: dispatchEvent() note] es6イベント強制発火めも。 #js

[js: dispatchEvent() note] es6イベント強制発火めも。 #js

Refs

https://developer.mozilla.org/ja/docs/Web/API/Event/initEvent http://itref.fc2web.com/javascript/event/initevent.html

HTMLEvents

load, unload, abort, error, select, change, submit, reset, focus, blur, resize, scroll

MouseEvents

click, mousedown, mouseup, mouseover, mouseup, mouseout

MutationEvents

DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument, DOMAttrModified, DOMCharacterDataModified

UIEvents

DOMFocusIn, DOMFocusOut, DOMActivate

Sample

  • IE 11 対応には Polyfill 要るかも、だけどもうあいつのことはどうでもよくないか
  • また Click イベントなんかは普通に element.click() 叩くだけでいい
// HTMLEvents
const selector = document.getElementById('my-selector');

if (selector) {
  const event = new Event('change', { bubbles: true });

  selector.value = 1;             // 値のセット
  selector.dispatchEvent(event);  // change イベントの発火
}