添加事件侦听器无法正常工作

Bob*_*bby 0 javascript

我有一个以前从未有过的问题.

我想在移动设备更改为方向时调用一个函数,所以我使用"onorientationchange"并确保它被触发,我也使用"onresize".

问题是因为一个神秘的原因甚至不能在页面上工作:

如果我做

document.body.addEventListener("resize",function(){console.log("here")};
Run Code Online (Sandbox Code Playgroud)

它不起作用,我创建了一个自定义版本的AddEventListener:

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

即使这个不起作用......

但这有效:

document.body.onresize = function(){console.log("here")};
Run Code Online (Sandbox Code Playgroud)

这是一个普通的网页,我不明白为什么它不起作用.

你能帮我吗?:X

Que*_*tin 5

resize事件触发window对象,而不是body元素.

你在错误的地方听它.

window.addEventListener("resize",function(e){console.log("here", e.target)};
Run Code Online (Sandbox Code Playgroud)