関数を定義してライブ クリック イベントで呼び出しましたが、関数はクリック イベントなしで実行されます。コードはこれです:
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);
live
validate
クリック イベントが発生したときに呼び出されます。
ただし、この場合フラグを渡すことはできません。したがって、匿名関数の使用に頼る必要があります。
$('#btnYes').live('click', function() { validate(1); });