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.