0

クリック機能を HTML 要素にバインドしようとしています。だから私はこれを試しました:-

$("#buttonId").click(alert("hey")); // does not work.

そして、私はこれを試しました:-

$("#buttonId").click(function() {
    alert("hey");
}); // works perfectly fine.

alert も関数なので、直接渡せないのはなぜですか。誰かがこれに光を当てることができますか?

Click メソッドのドキュメントは、http://api.jquery.com/click/から入手できます。

4

2 に答える 2

5

click()2 番目の例では、メソッドに関数を渡していますが、それを呼び出していません。誰かが要素をクリックすると、jQuery が関数呼び出します。

ただし、最初の例では、" alert("hey")" (これは を返しますundefined) を呼び出しており、その値がメソッドに渡されclickます。

于 2012-07-18T09:35:56.807 に答える
1

メソッドはハンドラー型のclick引数を取りますがalert("hey");、ハンドラーではなくハンドラーを返す関数呼び出しであるため、この呼び出しは無効です。

于 2012-07-18T09:37:19.133 に答える