How to prevent default event firing but still allo

2019-06-16 17:50发布

问题:

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?
});

回答1:

$('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.



回答2:

You could do:

$('a').click(function(e){
     e.preventDefault();
    // stop a.click firing but allow click event to continue bubbling?

});

fiddle here http://jsfiddle.net/tU53v/



回答3:

try this..

$('a').click(function(e){
     e.preventDefault();
    // stop a.click firing but allow click event to continue bubbling?

});

here you can find difference between return false and e.preventDefault();