関数を定義してライブ クリック イベントで呼び出しましたが、関数はクリック イベントなしで実行されます。コードはこれです:
function validate(flag){
//do something
}
$('#btnYes').live('click', validate(1));
検証機能は、クリック前のページ読み込み時に実行されます。どうしたの?
関数を定義してライブ クリック イベントで呼び出しましたが、関数はクリック イベントなしで実行されます。コードはこれです:
function validate(flag){
//do something
}
$('#btnYes').live('click', validate(1));
検証機能は、クリック前のページ読み込み時に実行されます。どうしたの?
他の答えはあなたが必要とすることをしますが、私はlive()メソッドを使用しないことを強くお勧めしon()ます。
$(document).on("click", "#btnYes", function(){ validate(1); });
ここにドキュメントがあります
メソッドでパラメーターを関数に渡す方法を見つけました:
$(document).on('click', '#btnYes', {flag:1}, validate);
次のような関数でパラメーターを取得します。
function validate(params){
alert(params.data.flag);
}
関数参照を渡す必要があり、関数を呼び出さないでください。
$('#btnYes').live('click', validate);
livevalidateクリック イベントが発生したときに呼び出されます。
ただし、この場合フラグを渡すことはできません。したがって、匿名関数の使用に頼る必要があります。
$('#btnYes').live('click', function() { validate(1); });