次の 2 つのコード例を検討してください。
// Example 1
$('#myButton').click(function() {
alert('I was clicked');
});
// Example 2
$('#myButton').click(
alert('I was clicked');
);
具体的に例 2 が機能しないのはなぜですか?
次の 2 つのコード例を検討してください。
// Example 1
$('#myButton').click(function() {
alert('I was clicked');
});
// Example 2
$('#myButton').click(
alert('I was clicked');
);
具体的に例 2 が機能しないのはなぜですか?
2 番目のコード スニペットは、オブジェクトのalert()メソッド( を返す) を呼び出し、返された値(つまり) をハンドラーとしてjQuery オブジェクトのclick()メソッドに渡すため、機能しません。window
undefined
undefined
undefined
は有効なイベント ハンドラーではないため、これをclick()
無視して何もしません (ブラウザーによっては、コンソールにエラーを記録する場合を除きます)。
最初のコード スニペットは本物の関数を渡し、それが を呼び出しますalert()
。関数なのでイベントハンドラとして登録できます。