美文网首页
element-ui ie浏览器报错Error in v-on

element-ui ie浏览器报错Error in v-on

作者: 有你有团 | 来源:发表于2021-08-20 16:08 被阅读0次

原因

element-ui中使用了mouseEvent事件,用到了不兼容ie11的API
重新定义mouseEvent事件并挂载到window下,覆盖原有的mouseEvent事件

//  public/polyfill.js
(function (window) {
  try {
    new MouseEvent('test');
    return false; // No need to polyfill
  } catch (e) {
    // Need to polyfill - fall through
  }

  // Polyfills DOM4 MouseEvent
  var MouseEventPolyfill = function (eventType, params) {
    params = params || { bubbles: false, cancelable: false };
    var mouseEvent = document.createEvent('MouseEvent');
    mouseEvent.initMouseEvent(eventType,
      params.bubbles,
      params.cancelable,
      window,
      0,
      params.screenX || 0,
      params.screenY || 0,
      params.clientX || 0,
      params.clientY || 0,
      params.ctrlKey || false,
      params.altKey || false,
      params.shiftKey || false,
      params.metaKey || false,
      params.button || 0,
      params.relatedTarget || null
    );

    return mouseEvent;
  }

  MouseEventPolyfill.prototype = Event.prototype;

  window.MouseEvent = MouseEventPolyfill;
})(window);

index.html 中引入

<!-- polyfill -->
<script src="./js/polyfill.js"></script>

原文链接

相关文章

网友评论

      本文标题:element-ui ie浏览器报错Error in v-on

      本文链接:https://www.haomeiwen.com/subject/lhmtiltx.html