# 1.原生事件和移动端事件的一些区别

# 2.js 触发 DOM 元素上的事件

场景:我们平常都是操作鼠标、键盘来触发绑定在 DOM 元素上的事件,在某些特殊情况,我们可能需要用 JS 去触发。(例如触发一个隐藏的 input 标签)

老办法:

  1. 使用 document.createEvent 创建事件
  2. 使用 event.initEvent 初始化事件
  3. 触发事件 domEl.dispatch(event);

例如:

var fileInput = document.getElementById("fileInput");
var clickEvent = document.createEvent("MouseEvents");

clickEvent.initEvent("click", true, true);
clickEvent.stopPropagation();
fileInput.dispatchEvent(clickEvent);

新办法:

var clickEvent = new MouseEvent("click", {
  bubbles: false,
  cancelable: false,
  composed: false,
});