preventDefault () ne fonctionne pas

Lorsque j'utilise de l'événement.preventDefault() sur un lien, il fonctionne, mais quand je l'utilise sur un bouton qui ne fait pas!
DÉMO
mon code:

<a id="link" href="http://www.google.com">link</a>
<button id="button" onclick="alert('an alert')">button</button>​

$('#link').click(function(event){
  event.preventDefault();
});
$('#button').click(function(event){
  event.preventDefault();
});

Lien de l'action est annulée, mais quand je clique sur le bouton, encore exécute l'action onClick
Toute aide? ce que je veux faire est d'empêcher le bouton de action onClick sans changer le bouton html (je ne sais comment faire

$('#button').removeAttr('onclick');

source d'informationauteur ilyes kooli