调整大小不在IE上触发?

时间:2015-05-21 12:35:59

标签: javascript internet-explorer

编辑:问题是该网站太糟糕了,他仍然在document.readyState =" interactive"所以我没有调整事件的大小:'(

我在一个网站上工作(我没有做过)。我试图正确整合横幅。我遇到IE 10/9的问题。偶数调整不起作用。

这是我使用的代码

function addEvent(elementDOM, evenement, fonction){
    var refEvent = null;
    if(elementDOM)
    {
        if (elementDOM.addEventListener)
        {
            refEvent = fonction;
            elementDOM.addEventListener (evenement,refEvent,false);
        }
        else if (elementDOM.attachEvent)
        {
            refEvent =function() {
                return fonction.call(elementDOM,window.event);
            };
            elementDOM.attachEvent ('on'+evenement,refEvent);
        }
        else
        {
            elementDOM["on"+evenement] = fonction;
        }
    }
    return refEvent;
}

我称之为:

addEvent(window,"resize",function(){
        console.log("a");
    });

这不适用于IE 10和9(适用于FF和Chrome) 我输入AddEventListener if,但没有触发任何事件。我从未看到我的控制台日志(" a")

网站就是这个

http://www.courrierinternational.com/

有人可以帮助我,因为我被困......我真的不知道可能是什么问题。

Thx:3

1 个答案:

答案 0 :(得分:0)

我不知道如何使用document.readyState = "interactive"创建内容,因此我无法复制此内容。

也就是说,您可以设置一个功能来监视正在调整大小的文档并自己手动触发事件。

类似的东西:

// Warning, code written on-the-fly and untested
(function() {
  var oldWidth;
  var oldHeight;

  function watchForResize() {
    // from http://stackoverflow.com/questions/1248081/get-the-browser-viewport-dimensions-with-javascript
    var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0)
    var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0)

    if ((w !== oldWidth) || (h !== oldHeight)) {
      window.dispatchEvent(new Event('resize'));
    }

    w = oldWidth;
    h = oldHeight;

    window.setTimeout(watchForResize, 100);
  }
}());