1

例えば:

someElement.addEventListener("blahblah", alert("hello!"));

ChromeとFirefoxの両方の開発コンソールに入力すると、alert("hello!")呼び出しが1回起動されてから、' undefined'が返されるようです。

同じ呼び出しをページに埋め込んだ場合、何も起こらないように見えます。エラーは発生せず、興味深い値は返されません。

4

1 に答える 1

1

これは単なるカスタムイベントであり、起動することもできます。

ただし、テストで得た問題はundefined、呼び出された関数alert()が返す関数ではなく、ハンドラーとして関数を渡す必要があることです。これらを試してください:

el.addEventListener("foo", alert.bind(window, "hello!"));

また

el.addEventListener("bar", function(e){ alert("hello "+e.name); });
于 2012-07-05T18:34:24.170 に答える