Итак, здесь у нас go, у меня есть 2 кнопки, которые переключаются между ними, и я бы хотел убрать щелчок до повторной привязки, чтобы избежать спама. Кнопки будут переключаться все время, пока в щелчке playRound мы не получим JSON, говорящее нам об обратном.
I sh, что после его нажатия он не сможет сделать это снова, пока я не выполню привязку кнопка снова со следующей кнопкой.
вот что я попробовал:
функция для привязки кнопки "NextStage"
function bindNextStage() {
$('#nextStage').show().click(function () {
let $pkEnemy = document.getElementById('pkEnemy').innerText;
$('#nextStage').hide().click(false);
$.ajax({
url: '/nextEnemy/' + $pkEnemy,
type: 'get',
dataType: 'json',
}).done(function (result) {
console.log("refresh some data");
bindPlayRound();
});
});
}
функция для привязки playRound
function bindPlayRound($pkParty) {
$('#playRound').show().click(function () {
let $pkEnemy = document.getElementById('pkEnemy').innerText;
$('#playRound').click(false).hide();
$.ajax({
url: '/playRound/' + $pkEnemy,
type: 'get',
dataType: 'json',
}).done(function (result) {
addBattleReport(result).then(r => {
console.log("do something with an other button")
});
console.log("refresh some data")
if (result['isEnded'])
console.log('END');
else if (result['enemy']['hp'] <= 0) {
bindNextStage();
}
else{
bindPlayRound()
}
});
});
}
и я призываю начать
bindNextStage()
---- РЕДАКТИРОВАТЬ ----
На данный момент я могу нажать кнопку еще раз, если я делаю F12 и отображаю кнопка, но в дополнение к этому функция запускается 3 раза. Кнопка хорошо скрыта, когда я нажимаю на нее, но она не отвязывается и имеет странное поведение при запуске 3 раза.
---- EDIT 2 ---
Я понял, что тот факт, что функция .click не отменяется .click (false), запускает мою функцию столько раз, сколько я ее связываю.