Я пытаюсь решить довольно простую задачу, но придерживаясь поведения JQuery.Отключенная кнопка вызывает событие клика после включения
У меня есть кнопка HTML, который я отключить (добавить отключен атрибут) сразу после клика, чтобы предотвратить несколько щелчков, сделать что-то долго работает (то есть обновление DOM с большим количеством элементов) и включить кнопку назад.
Проблема в том, что даже кнопка отключена очереди jquery, все клики на ней и поднимут мой обработчик кликов сразу после его включения.
Согласно документам JQuery, он не должен поднимать события для отключенного элемента.
Bellow - мой код. Откройте консоль JS, нажмите два раза на кнопку, обратите внимание на пару сообщений «START -» на консоли.
<div>
<button id="mybtn" type="button">Find</button>
</div>
var btnElement = $('#mybtn');
btnElement.click(doClick);
function doClick() {
var btnElement = $('#mybtn');
btnElement.attr('disabled', true);
console.log('START --' + Date());
for (var i = 0; i < 70000; i++) {
var el = $('#mybtn');
var w = el.width();
w += 10;
}
console.log('STOP --' + Date());
el.attr('disabled', false);
}
Отправьте свой код здесь, пожалуйста, и не пытайтесь уклониться от правила SO при отправке кода при ссылке на jsFiddle. – j08691
Как вы можете добавить ссылку на скрипку, не публикуя какой-либо код? – DontVoteMeDown
@DontVoteMeDown, обманывая его и обертывая ссылку в backticks. – brbcoding