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 に答える