Surely because .trigger-click-element
is descendant of .actual-click-element
...
To avoid recursive call, you could use jq triggerHandler():
Events triggered with .triggerHandler() do not bubble up the DOM
hierarchy; if they are not handled by the target element directly,
they do nothing.
$('body').on('click', '.actual-click-element', function(event) {
$('.trigger-click-element').triggerHandler('click');
event.preventDefault();
});
Now if $('.trigger-click-element')
returns more than one element, you could use:
$('.trigger-click-element').each(function(){$(this).triggerHandler('click');});