Tengo muchas ganas de hacer algo simple. Al hacer clic en un elemento determinado, desencadené un clic en otro elemento pero obtengo el siguiente error en mi consola.
Uncaught RangeError: Maximum call stack size exceeded
Mi código es el siguiente;
$('body').on('click', '.actual-click-element', function(event) { $('.trigger-click-element').trigger('click'); event.preventDefault(); });
Me pregunto por qué estoy recibiendo este error y no veo cómo esto es recursivo. ¿Algunas ideas?
Seguramente porque .trigger-click-element
es descendiente de .actual-click-element
…
Para evitar una llamada recursiva, puede usar jq triggerHandler () :
Los eventos activados con .triggerHandler () no aceleran la jerarquía DOM; si no son manejados directamente por el elemento de destino, no hacen nada.
$('body').on('click', '.actual-click-element', function(event) { $('.trigger-click-element').triggerHandler('click'); event.preventDefault(); });
Ahora, si $('.trigger-click-element')
devuelve más de un elemento, podría usar:
$('.trigger-click-element').each(function(){$(this).triggerHandler('click');});