2015-09-25 21 views
5

Utilizzo di JQuery che dovrebbe essere registrato sul caricamento della prima pagina e successivo postback Ajax. Il controllo su cui viene applicato è all'interno del pannello di aggiornamento. ora cosa sto facendoRegistrazione di jquery sul caricamento della pagina e successivo ajax postback

Registrando la stessa funzione in modo simile a document.ready e sys.application.add.load quindi funziona per il controllo che si trova all'interno del pannello di aggiornamento e controllo che si trovano all'esterno del pannello di aggiornamento.

$(document).ready(function() { 

    CheckMaxlength(); 

    //If Text area is placed inside update panel then apply restriction for texarea size. 

    Sys.Application.add_load(function() { 

    CheckMaxlength(); 

    }); 
}); 

voglio sapere qual è il modo esatto di lavorare con i controlli che sono pannello di aggiornamento interno e pannello di aggiornamento al di fuori

+0

Non sono sicuro al 100% quello che stai chiedendo. Penso di avere l'idea di base. Se puoi chiarire, probabilmente posso rispondere meglio per te. Ad esempio, che cosa fa CheckMaxLength()? Se la tua domanda è più specifica, posso rendere la mia risposta più specifica. –

+0

CheckMaxlength() viene utilizzato per limitare la lunghezza massima specificata durante la digitazione. – Liquid

risposta

0

Io non sono positivi che cosa si vuole fare, ma ho il sospetto delegated events sono probabilmente la tua risposta.

Gli eventi delegati hanno il vantaggio di poter elaborare eventi da elementi discendenti che vengono aggiunti al documento in un secondo momento. Selezionando un elemento che è garantito sia presente nel momento in cui il gestore eventi delegato è collegato, è possibile utilizzare gli eventi delegati per evitare la necessità di collegare e rimuovere frequentemente gestori di eventi.

Ad esempio, è possibile aggiungere funzionalità a tutti textarea indipendentemente da quando vengono aggiunti alla pagina con

$("body").on("click", "textarea", function() { 
    alert($(this).val()); 
}); 

Il primo vantaggio per la vostra situazione è che ogni textarea aggiunta al pannello di aggiornamento in qualsiasi punto otterrà la funzionalità delegata.

Inoltre, se si desidera individuare un comportamento diverso per il testo all'interno del pannello di aggiornamento e che all'esterno del pannello di aggiornamento, è possibile farlo anche.

$("body").on('click', 'textarea', function() { 
    alert("outside" + $(this).val()); 
}); 

$(".update-panel").on('click', 'textarea', function() { 
    alert("inside: " + $(this).val()); 

    //stop the event from propagating up to the body 
    event.stopPropagation(); 
}); 

Inoltre, notare che solo la body e upload-container bisogno di essere pronti quando si esegue questo codice. Non è necessario che il textarea sia ancora lì, quindi non è necessario eseguirlo all'interno di Sys.Application.add_load.

Problemi correlati