Using jQuery: with the following code I'd like to prevent the href url (in this case a hash '#') being fired on click, but still allow the click event to continue bubbling up the chain. How can this be achieved please?
<div>
<a href="#">Test</a>
</div>
$('a').click(function(e){
// stop a.click firing but allow click event to continue bubbling?
});
preventDefault() Prevents the browsers default behaviour (such as opening a link), but does not stop the event from bubbling up the DOM.
To prevent the default action of an event, you can call the Event. preventDefault() method. This method cancels the event if it is cancelable: Event.
stopPropagation()Returns: undefined. Description: Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event.
preventDefault() will prevent the default event from occuring, e.
$('a').click(function(e){
e.preventDefault();
// stop a.click firing but allow click event to continue bubbling?
});
e.preventDefault()
won't prevent bubbling, e.stopPropagation()
or return false
(stop both) will.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With