2010-01-04 13 views
6

Ho un pulsante che si trova all'interno di un controllo updatepanel. L'evento click del pulsante ha una funzione definita per esso tramite JQuery. Una volta completato il postback async, l'evento JQuery non viene attivato quando si fa clic sul pulsante in seguito. Cosa devo fare per correggere questo comportamento e mantenere l'allegato evento JQuery all'evento click del pulsante una volta che è stato aggiornato in modo asincrono?Controlli in UpdatePanel perdendo eventi JQuery

risposta

15

mettere vincolante gestore eventi jQuery all'interno della seguente funzione

function pageLoad(sender,args) { 

    // binding code here, for example 
    $('#button').click(function(e) { 
     // do something when the click event is raised 
    }); 

} 

pageLoad viene eseguita dopo ogni postback, sincrona o asincrona. pageLoad è un nome di funzione riservato in ASP.NET AJAX che è per questo scopo. $(document).ready() d'altra parte, viene eseguito solo una volta, quando il DOM è inizialmente pronto/caricato.

Vai a questa Overview of ASP.NET AJAX client lifecycle events

+0

Puoi carne questo esempio di codice di più per favore? Grazie! – Achilles

+1

Ho aggiunto un gestore di eventi di esempio. La "magia" è nel nome della funzione 'pageLoad', che è una funzione riservata che verrà eseguita quando la pagina viene postata, in modo sincrono o asincrono. È analogo impostare una funzione da eseguire usando 'Sys.Application.add_load (handler);' –

+0

Grazie mille, l'ho appena implementato e funziona alla grande! +1 – Achilles

Problemi correlati