1

関数を定義してライブ クリック イベントで呼び出しましたが、関数はクリック イベントなしで実行されます。コードはこれです:

function validate(flag){
   //do something
}
$('#btnYes').live('click', validate(1));

検証機能は、クリック前のページ読み込み時に実行されます。どうしたの?

4

3 に答える 3

2

他の答えはあなたが必要とすることをしますが、私はlive()メソッドを使用しないことを強くお勧めしon()ます。

$(document).on("click", "#btnYes", function(){ validate(1); }); 

ここにドキュメントがあります

于 2013-05-30T04:35:18.250 に答える
0

メソッドでパラメーターを関数に渡す方法を見つけました:

$(document).on('click', '#btnYes', {flag:1}, validate);

次のような関数でパラメーターを取得します。

function validate(params){
    alert(params.data.flag);
}
于 2013-05-31T18:26:53.883 に答える
0

関数参照を渡す必要があり、関数を呼び出さないでください。

$('#btnYes').live('click', validate);

livevalidateクリック イベントが発生したときに呼び出されます。

ただし、この場合フラグを渡すことはできません。したがって、匿名関数の使用に頼る必要があります。

$('#btnYes').live('click', function() { validate(1); });
于 2013-05-30T04:19:52.723 に答える