Sommario
Cancella l'azione predefinita associata a un evento se l'evento lo permette, senza bloccare un'ulteriore propagazione degli eventi.
Sintassi
event.preventDefault()
Esempio
Questo esempio mostra come eliminare la risposta predefinita a un click su di un checkbox.
<html> <head> <title>esempio di preventDefault</title> <script type="text/javascript"> function disabilitaAzionePredefinita(evt) { evt.preventDefault(); } </script> </head> <body> <p>Clicca sul checkbox.</p> <form> <input type="checkbox" onclick="disabilitaAzionePredefinita(event);"/> <label for="checkbox">Checkbox</label> </form> </body> </html>
Si può vedere preventDefault
in azione qui.
L'esempio seguente dimostra come si può impedire di digitare un input di testo non valido in un campo.
<html> <head> <title>altro esempio di preventDefault</title> <script type="text/javascript"> function controllaNome(evt) { var charCode = evt.charCode; if (charCode != 0) { if (charCode < 97 || charCode > 122) { evt.preventDefault(); alert("Usare solo lettere minuscole." + "\n" + "Codice carattere: " + charCode + "\n" ); } } } </script> </head> <body> <p>Scrivi il tuo nome utilizzando solo lettere minuscole.</p> <form> <input type="text" onkeypress="controllaNome(event);"/> </form> </body> </html>
Note
Chiamare preventDefault
durante una qualsiasi fase dell'evento lo cancella. Ogni azione predefinita normalmente associata all'evento e gestita automaticamente dal browser viene annullata.
E' possibile utilizzare event.cancelable per controllare se è possibile cancellare l'evento. Chiamare preventDefault
su di un evento che non è cancellabile non ha alcun effetto.
preventDefault
non blocca la propagazione degli eventi attraverso il DOM. A questo scopo, si può utilizzare event.stopPropagation.