Magazine Informatica

L'importanza della funzione preventDefault()

Creato il 24 dicembre 2012 da Ketek @CarloVentrella

Utilizzando jQuery si ha spesso a che fare con funzioni richiamate dai vari eventi, che sia il passaggio del mouse su un elemento oppure il click su un link.

In quest’ultimo caso è sempre opportuno inserire all’interno della funzione la funzione

preventDefault().

Questa serve per impedire che cliccando sul link, la pagina lo segua, oppure per impedire l’invio dei dati di un form.

 
function f(event)
{
            --> animazione <--
            event.preventDefault();
}
 

Immaginiamo questa situazione: cliccando su un link viene richiamata una funzione che ha il compito di spostare un altro elemento della pagina. Senza includere preventDefault() all’interno della funzione in questione, la pagina seguirà il link che magari rimanderà ad una pagina esterna!

Potreste pensare di non inserire alcun link nella definizione di questo, magari mettendo un semplice “#”, e in molte situazioni questa soluzione potrebbe sembrare avervi risolto il problema! In realtà non è sempre così e vi spiego il perché: nel momento in cui l’utente cliccherà sul link la funzione sarà richiamata correttamente, successivamente seguirà il link aggiungendo il “#” alla fine dell’URL. Durante questo passaggio la pagina sarà portata in alto. Se questo non è un problema nel momento in cui l’animazione è situata in alto alla pagina, lo è in caso contrario in quanto questa sarà richiamata in alto e non vedremmo l’animazione che si trova invece in basso!

Questo è un esempio banale ma sufficiente per dimostrare che è sempre buona norma inserirlo all’intero delle funzioni richiamati da questi tipi di eventi. 

Trovato interessante l'articolo? Condividilo!



Ritornare alla prima pagina di Logo Paperblog