2010-01-04 6 views
6

J'ai un bouton qui est dans un contrôle de panneau de configuration. L'événement click du bouton a une fonction définie par JQuery. Une fois la publication asynchrone terminée, l'événement JQuery échoue lorsque le bouton est cliqué par la suite. Que dois-je faire pour corriger ce comportement et maintenir la pièce jointe de l'événement JQuery à l'événement click du bouton une fois qu'il a été actualisé de manière asynchrone?Contrôles dans UpdatePanel perdant des événements JQuery

Répondre

15

mettre votre gestionnaire d'événements jquery de liaison dans la fonction suivante

function pageLoad(sender,args) { 

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

} 

pageLoad est exécuté après chaque postback, synchrone ou asynchrone. pageLoad est un nom de fonction réservé dans ASP.NET AJAX qui est à cet effet. D'autre part, $(document).ready() est exécuté une seule fois, lorsque le DOM est initialement prêt/chargé.

Voir cette Overview of ASP.NET AJAX client lifecycle events

+0

Pouvez-vous la chair cet exemple de code plus s'il vous plaît? Merci! – Achilles

+1

J'ai ajouté un exemple de gestionnaire d'événement. La "magie" est dans le nom de la fonction 'pageLoad', qui est une fonction réservée qui s'exécutera quand la page sera publiée, de façon synchrone ou asynchrone. C'est analogue à la mise en place d'une fonction à exécuter en utilisant 'Sys.Application.add_load (handler);' –

+0

Merci beaucoup, juste implémenté cela et ça marche super! +1 – Achilles

Questions connexes