2013-07-29 17 views
7

Voglio eseguire uno script al caricamento della pagina per la prima volta (per il valore predefinito dell'elemento select), quindi su ogni modifica dell'elemento select. È possibile farlo in una riga o devo duplicare la funzione per questi eventi?Posso eseguire la funzione jQuery e al caricamento e al cambio?

So che posso usare struttura prossimo:

$('#element').on('keyup keypress blur change', function() { 
    ... 
}); 

Ma non sembra supportare evento carico.

Qualche idea?

risposta

9

se ho capito cosa vuoi dire, solo innescare uno di questi eventi:

$('#element').on('keyup keypress blur change', function() { 
    ... 
}).triggerHandler('keyup'); //or trigger('keyup') or keyup() which then let event propagate 
+0

È sicuramente il modo più semplice da suggerire, quindi accetto questa risposta. – Braggae

5

per l'elemento di cambiamento usare il tuo:

$('#element').on('change', function() { 
    ... 
}); 

e di utilizzare la stessa funzione del carico struttura il primo uso come:

jQuery(window).on("load", function(){ 

    $('#element').change(); 

}); 

per chiamare la stessa funzione

3

Invece di utilizzare funzioni anonime (definendole esattamente dove verranno utilizzate), è sufficiente creare una funzione regolare e dire a jQuery di chiamarla quando accadono tali eventi.

$(document).ready(myFunction); 
$('#element').on('keyup keypress blur change', myFunction); 

function myFunction() { 
    // Do something here... 
} 
Problemi correlati