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

时间:2015-03-27 09:21:33

标签: javascript

我有一个以前从未遇到的问题。

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

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

如果我这样做

document.body.addEventListener("resize",function(){console.log("here")};

它不起作用,我创建了一个自定义版本的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;
    },

即使这个也行不通......

但这有效:

document.body.onresize = function(){console.log("here")};

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

你能帮忙吗? :X

1 个答案:

答案 0 :(得分:5)

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

你正在错误的地方听它。

window.addEventListener("resize",function(e){console.log("here", e.target)};