0

以下对象有什么问题。

var events = {
    targetElem: function(e) {
        var eve = (e) ? e : window.event;
        if (eve.target)
            alert(eve.target);
        else
            alert(eve.srcElement);
    }
};

总是显示错误信息ReferenceError: e is undefined

4

2 回答 2

5

该问题与您最初发布的代码无关,它与您留下的评论中的事件处理程序有关。

document.onclick = function() {events.targetElem(e);};
                                                 ^
                                                 |
                                        e is not defined anywhere

它应该是

document.onclick = function(e) {events.targetElem(e);};
                            ^
                            |
                        missing e
于 2013-04-24T19:03:02.310 回答
0

如果此函数正确连接到元素的事件(onclick、onkeydown、onmousemove 等),则应定义 e。

自己调用 events.targetElem() 将导致 e 具有 undefined 的值,但您不应该得到 ReferenceError。

你确定这个函数中发生了错误吗?尝试将此行放在脚本的顶部:“use strict”;

它会警告您可能遇到的愚蠢的语法问题。(他们可能会导致这种混乱)

于 2013-04-24T19:04:03.600 回答