С чем связана ошибка jQuery Uncaught RangeError: Maximum call stack size exceeded?

Всем привет!

Делаю имитацию клика по ссылке для родительского блока (для тизеров).

<div class="icons">
   <div class="sprite">
      <a class="link-icon" href="index.php/produktsiya/benzin">
         <img src="templates/yoo_glass/images/icons (1).png" border="0" /><br /><span>Бензины</span>
      </a>
   </div>
...
</div>

$(function(){
	$('.icons .sprite').on('click', function(){
		$(this).find('.link-icon').click();
	});
});

При клике по ссылке выдает:

Uncaught RangeError: Maximum call stack size exceeded jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5
x.extend.each jquery-1.10.2.min.js:4
x.fn.x.each jquery-1.10.2.min.js:4
x.fn.extend.trigger jquery-1.10.2.min.js:5
x.fn.(anonymous function) jquery-1.10.2.min.js:6
(anonymous function) geo.js:25
x.event.dispatch jquery-1.10.2.min.js:5
v.handle jquery-1.10.2.min.js:5
x.event.trigger jquery-1.10.2.min.js:5
(anonymous function) jquery-1.10.2.min.js:5


Кто-то может знает в чем может быть дело? Погуглив попробовал менять click() на live() и добавлять .stopPropagation() - не помогло.
  • Вопрос задан
  • 14741 просмотр
Решения вопроса 1
rdifb0
@rdifb0
Программист, реалист
Проблема у вас в рекурсии, которая переполняет стек вызовов.
Причина: событие которое вы генерируете всплывает и снова вызывает клик.
jsfiddle.net/K2Fn9
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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