jQuery PNotify нажал кнопку несколько раз
У меня есть несколько изображений. При нажатии на любой из них открывается всплывающее окно PNotify.
У всплывающего окна PNotify есть простая форма с текстовым полем и кнопкой Сохранить. При нажатии на кнопку, он просто добавляет абзац текста к нажатому изображению.
Но когда я нажимаю кнопку "Сохранить", он добавляет текст несколько раз и добавляет +1 к каждому следующему щелчку, например сначала 1, затем 2, затем 4, затем 6 и т. Д.
$('#pic_wrapper').on('click', '.mark', function(e) {
var notice = new PNotify({
...
});
$('#text_form button[name=save]').on('click', function() {
$('#' + e.target.id).append('<p class="text">' + $.trim(
$('#input_text').val()) + '</p>');
notice.remove();
});
});
Кажется, что щелчок срабатывает несколько раз. Как я могу остановить это и сделать так, чтобы он срабатывал только один раз за клик?
1 ответ
Решение
Обработчик события является приложением мультипликационного времени, поэтому вы сталкиваетесь с проблемой. .off()
метод удаляет обработчики событий, которые были .on()
,
$('#text_form button[name=save]').off().on('click', function() {
$('#' + e.target.id).append('<p class="text">' + $.trim($(
'#input_text').val()) + '</p>');
notice.remove();
});