Lafafm
@Lafafm
Development lead, Full stack generalist

Почему confirm() всплывает несколько раз?

Здравствуйте!
Возникла проблема. На кнопку повешен обработчик onclick(), в котором есть окно confirm() для подтверждения действия.
$(document).ready(function onload(){
	$('.button').click(function(){
		if(confirm("Вы уверены что хотите сделать это?")){
			// some actions
		}
	}
})

Иногда при одном нажатии на кнопку, confirm() всплывает несколько раз (может 2, может 10). Собственно почему так может быть? И возможно ли что окно всплывает по несколько раз из-за того что я вызываю функцию onload() при подгрузке необходимых элементов на страницу?
  • Вопрос задан
  • 2608 просмотров
Решения вопроса 1
vicodin
@vicodin
Имею некоторый опыт
Пригласить эксперта
Ответы на вопрос 1
v_decadence
@v_decadence
И возможно ли что окно всплывает по несколько раз из-за того что я вызываю функцию onload() при подгрузке необходимых елементов на страницу?


Наверно, функция вызывается несколько раз, обработчик привязывается несколько раз, обработчик срабатывает несколько раз.
Вынесите привязку обработчика к кнопке в отдельную функцию или сделайте её анонимной:
$(document).ready(function(){
  $('.button').click(function(){
    if(confirm("Вы уверены что хотите сделать это?")){
      // some actions
    }
  }
})


Для подгружаемых элементов нужно использовать on-метод, вызвать его у родителя и указать селектор дочерних элементов, которые динамически появляются на странице
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы