0

onLoad で呼び出される関数内の HTMLElement で addEventListner メソッドを使用しています。ただし、HTMLページでクリックイベントを試す前でも、メソッドが実行されます。

        function setConfigurationMenu(){

            var navConfigure = document.querySelector(".navConfigure");
            var navBody = navConfigure.querySelector(".body");
            var navTop = navConfigure.querySelector(".top");

            navTop.addEventListener("click", alert("jow"));

        }

ここで何が起こっているのか、何かアイデアはありますか?

どうも、

4

2 に答える 2

1

resultこれは、 functionの代わりに functionを渡すために発生します。これにはhandler無名関数を試してください。

navTop.addEventListener("click", function() {
    alert("jow");
});

つまり、あなたの場合、関数を呼び出すだけですが、これにはハンドラーを渡す必要があります。

于 2013-10-30T12:25:24.213 に答える
1

これは、関数を実行し、その戻り値( ) をパラメータとしてメソッドalertに渡すために発生しています。実際には関数を渡す必要があります。undefinedaddEventListener

navTop.addEventListener("click", functionToBeTriggered);

テキストであるパラメーターが予想されるようalertに、それを呼び出す無名関数にラップしたい場合があります。例えば:

navTop.addEventListener("click", function() {
    alert("jow")
});
于 2013-10-30T12:25:51.977 に答える