在我们写web的时候,有的时候页面加载完以后,布局位置有一些问题,手动改变窗口大小后则正常显示位置。

其实,我们手动改变窗口大小,是执行了resize方法。

share一下兼容方法:

coffee code :

compatibleEventCreate : ->
            if document.createEvent
              # W3C
              ev = document.createEvent('Event')
              ev.initEvent 'resize', true, true
              window.dispatchEvent ev
            else
              # IE
              element = document.documentElement
              event = document.createEventObject()
              element.fireEvent 'onresize', event

js code :

compatibleEventCreate: function() {
          var element, ev, event;
          if (document.createEvent) {
            ev = document.createEvent('Event');
            ev.initEvent('resize', true, true);
            return window.dispatchEvent(ev);
          } else {
            element = document.documentElement;
            event = document.createEventObject();
            return element.fireEvent('onresize', event);
          }
        }

调用:

setTimeout(function() {
              return scope.pushNotification.compatibleEventCreate();
            }, 0);

之所以使用setTimeout,时间为0,是将改方法加入消息队列,等其他事件执行完之后,最后执行该方法。

相关文章:

  • 2022-12-23
  • 2021-03-31
  • 2022-02-09
  • 2021-12-05
猜你喜欢
  • 2022-01-13
  • 2021-09-29
相关资源
相似解决方案