Frage

Ich habe ein Ajax-Akkordeon, und jede Scheibe enthält ein Update (dynamisch erstellt). Ich mag, dass die Updatepanels aktualisieren, wenn der Header des Fensters geklickt wird, aber es gibt kein Click-Ereignis.

ich einen Knopf in der Kopfzeile Pop kann, und als asynch Trigger registrieren Script verwenden, aber ich will nicht auf eine Schaltfläche, ich die gesamte Kopf wollen ein Auslöser sein.

Ich kann nicht sehen, wie man einen div oder ein Etikett als Trigger zu setzen, da sie nicht über ein Server-Seite Click-Ereignis haben. Gibt es eine andere Art, wie ich es tun kann?

War es hilfreich?

Lösung

Mit jQuery.

Die Syntax wäre so einfach wie folgt:

$('#myHeading').click(function(){
    // Your code here
});

Manchmal mit ASP.NET Ich habe eine Wildcard-ID-Übereinstimmung verwenden musste, weil ASP.NET schafft wirklich lange semistochastische Clientside-IDs für Ihre Elemente. Sie würden in etwa wie folgt tun:

$('[id*="myHeading"]').click(function(){
    // Your code here
});

Im Wesentlichen kann man alles auf dem DOM wählen und einen Ereignishandler, um es mit jQuery befestigen. Manchmal muss man sich mit den Selektoren kreativ.

Wichtig: Wenn Sie Update und die Überschrift für einen Klick überwachen möchten verwenden, ist innerhalb dieser Platte, müssen Sie diese Event-Handler an das Element erneut zu binden Sie die Auswahl, nachdem die Platte geladen wird / neu geladen über Ajax . Dies kann mit dem folgenden Code erreicht werden:

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_pageLoaded(panelLoaded);

function panelLoaded(sender, args){

    $('[id*="myHeading"]').click(function(){
        // Do something after there is a click
    });

}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top