preventDefault()
deve essere usato per prevenire il comportamento predefinito di un elemento, che il comportamento di default è cotto al tuo browser.
Come per esempio il comportamento di un tag di ancoraggio quando si fa clic per avviare una sequenza di eventi che modificherà la barra dell'URL e invierà una richiesta http (spiegazione eccessivamente semplicistica lo so).
Utilizzando evt.preventDefault(evt)
all'interno di un evento click è possibile interrompere il comportamento predefinito in modo da poter eseguire altre operazioni prima di eseguire il comportamento o ignorarlo tutto insieme.
Il problema che posso vedere con il tuo esempio è che il comportamento predefinito di onchange
consiste nel deselezionare la casella di input, non evidenziandola e non sono sicuro che sia classificata come evento (sono abbastanza sicuro che non lo sia). Non perché sia in grado di interrompere una funzione che hai allegato onchange()
. Infatti, se si dovesse utilizzare un preventDefault()
, myFunc()
è esattamente dove dovrebbe essere.
Per un evento da prevenire, deve esserci un'uscita risultante, qualcosa oltre l'aspetto della modifica. per esempio. Il clic di un tag, l'invio di un modulo, lo scorrimento di un contenitore.
fonte
2014-06-16 21:11:45
Probabilmente intendevi '$ (" # text1 ")' – blgt
Hai qualche errore nel tuo esempio, quali sono le impostazioni predefinite che prevedi di prevenire? –
Stai cercando di impedire la visualizzazione di "Avviso casuale e fastidioso"? Stai supponendo che myFunc() sia l'impostazione predefinita che stai cercando di impedire? –