This is simplified code to exactly reproduce a problem I’m having with jQuery.
I would expect it to cancel the original click, then trigger the click event again which in turn would cause the browser to load the href of the url.
<script type="text/javascript">
$( function()
{
var confirmed = false;
$('a').click( function( event )
{
if ( confirmed == false )
{
event.preventDefault();
confirmed = true;
$(event.target).trigger( 'click' );
}
});
});
</script>
I do not want to change window.location. I want to trigger so that any event handlers that have been bound to the click event will fire too. It just so happens that I also want the browser to follow the link.
.trigger('click')won’t trigger the browser’s default action — it will just trigger jQuery event handlers bound to that event on that element.Take a look at this answer — you need to create and fire a click event yourself. Here’s the code from that answer: