Dans certains cas*, vous pouvez initialement return false
au lieu de e.preventDefault()
puis, lorsque vous souhaitez rétablir la valeur par défaut de l'option return true
.
*Lorsque vous ne vous préoccupez pas du bouillonnement de l'événement et que vous n'utilisez pas l'option e.stopPropagation()
en même temps que e.preventDefault()
Voir aussi question similaire (également dans stack Overflow)
ou dans le cas d'une case à cocher vous pouvez avoir quelque chose comme :
$(element).toggle(function(){
$(":checkbox").attr('disabled', true);
},
function(){
$(":checkbox").removeAttr('disabled');
})