0

次の 2 つのコード例を検討してください。

// Example 1
$('#myButton').click(function() {
    alert('I was clicked');
});

// Example 2
$('#myButton').click(
    alert('I was clicked');
);

具体的に例 2 が機能しないのはなぜですか?

4

1 に答える 1

4

2 番目のコード スニペットは、オブジェクトのalert()メソッド( を返す) を呼び出し、返された値(つまり) をハンドラーとしてjQuery オブジェクトのclick()メソッドに渡すため、機能しません。windowundefinedundefined

undefinedは有効なイベント ハンドラーではないため、これをclick()無視して何もしません (ブラウザーによっては、コンソールにエラーを記録する場合を除きます)。

最初のコード スニペットは本物の関数を渡し、それが を呼び出しますalert()。関数なのでイベントハンドラとして登録できます。

于 2013-02-25T22:44:23.457 に答える