Почему вылетает ошибка Maximum call stack size exceeded?

временно лежит на страница

так как кнопка появляется по ховер событию, то на мобильном ее мы не увидим
поэтому я решил чтобы при клике на squares__item клик передовался на кнопку

$('.squares__item').on('click', function() {
		$(this).find('.squares__des__button').click();
	})


но почему то вылетает ошибка Maximum call stack size exceeded

собственно, что я сделал не так?
  • Вопрос задан
  • 10129 просмотров
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
видимо вы вызвали рекурсию.
Ответ написан
Комментировать
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Почитайте про всплытие событий.

$('.squares__item').on('click', function() {
    $(this).find('.squares__des__button').click();
    //Событие всплывает и происходит новый клик по .squares__item
    //А на нем висит вызов клика по .squares__des__button
   //И так бесконечно
  })


Можно использовать
stopPropagation()
но зачем?

Лучше повесьте единственный обработчик на .squares__item. Тот, что на бедную кнопку навесили. Суть не изменится, но ошибка уйдет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы