二度目にクリックしたときに、私はjQueryの内のコードを次しているボタンは、バックグラウンドで2回
<script language="javascript">
$(document).ready(function() {
$('#btnSaveRole').click(function(){
$('#btnFinalSaveRole').click(function() {
var $_Role = $('#txtRole').val();
var data = {
"Role" : $_Role
};
$.ajax({
url: 'http://localhost:1234/AdminSystem1/public/SaveRole',
method: "POST",
async: true,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
success: function (msg) {
$("btnSaveRole").unbind('click');
$("btnFinalSaveRole").unbind('click');
},
error: function (jqXHR) {
$("btnSaveRole").unbind('click');
$("btnFinalSaveRole").unbind('click');
}
});
});
});
});
</script>
問題は、私はもう一度同じボタンbtnSaveRole
をクリックしたときに、それが2回クリックされますでクリックされます。
私は成功で、コードの下に使用することを修正して、コールバック
$("btnSaveRole").unbind('click');
$("btnFinalSaveRole").unbind('click');
を失敗するために私は何も足りませんか?
を使用していますと自動的にアンバインド
.on()
の.one()
バージョンの使用方法を示していますか? – Devon@Devonセレクタは異なります。私が理解するように、ボタン 'save'が最初にバインドされています。クリックすると、「最終保存」ボタンがバインドされます。たとえば、「あなたは本当ですか?」ボタン。 2番目のボタンがクリックされると、AJAXが実行され、その後、両方のボタンはアンバウンドされます。 –
私は[jsfiddle](https://jsfiddle.net/nccd9gqc/)で試して、どれだけボタン1(例えば3倍)をクリックしてボタン2をクリックするかを観察すると、アラートは3倍もポップアップします(ボタン1のクリック数など) –