J'ai le code suivant:
$(document).on('keyup', 'p[contenteditable="true"]', function(e) { if(e.which == 13) { e.preventDefault(); $(this).after('<p contenteditable = "true"></p>'); $(this).next('p').focus(); } else if((e.which == 8 || e.which == 46) && $(this).text() == "") { e.preventDefault(); alert("Should remove element."); $(this).remove(); $(this).previous('p').focus(); }; });
J'aimerais éviter l'action par défaut lorsqu'une touche est enfoncée. preventDefault
fonctionne pour la keypress
de keypress
mais pas pour la keyup
. Existe-t-il un moyen d'éviter la perte de $(document).on('keyup')
?
Le numéro de keyup
déclenche après l'action par défaut.
keydown
et la keypress
sont les endroits où vous pouvez empêcher la valeur par défaut.
Si ceux-ci ne sont pas arrêtés, alors la valeur par défaut se produit et la keyup
est déclenchée.
Nous pouvons empêcher l'action en utilisant l'extrait de code suivant.
e.stopPropagation(); e.preventDefault(); e.returnValue = false; e.cancelBubble = true; return false;
Les feux de la souris après la décompression / la pression des touches. Nous pouvons empêcher les actions par défaut dans n'importe lequel de ces événements.
Merci,
Siva