2013-04-25 12 views

risposta

18

Sì, il gestore verrà eseguito sempre per primo. Questo è quello che ti permette, ad esempio, di cancellare il comportamento predefinito (vai a href url) se necessario

$("a").on("click", function (e) { 
    e.preventDefault(); // --> if this handle didn't run first, this wouldn't work 
    doSomething(); 
}); 
+0

quindi per chiarire, anche se 'e.preventDefault()' arrivava alla fine del gestore, dopo un sacco di codice, avrebbe comunque annullato il fuoco href? –

+0

@ D.Tate: è corretto –

+1

Questo non sembra essere il caso, anche se, nella funzione di clic, si dice spingere le informazioni di tracciamento su un altro server. Usando Fiddler, non vedo nulla di essere spinto prima che il collegamento venga seguito. Usando OnClick sembra sempre fare la spinta, quindi seguire il link. L'utilizzo di on e click sembra sempre seguire il collegamento senza spingere i dati altrove. – Jag

3

Sì, sì. Se non si desidera che href si attivi, è possibile chiamare e.preventDefault(); e il browser non seguirà il collegamento.

Problemi correlati