Springe zum Hauptinhalt
Universitätsrechenzentrum
jQuery
Universitätsrechenzentrum 




Events

In diesem Abschnitt beschäftigen wir uns mit der Behandlung von Ereignissen.
Einführend soll ein Überblick zu den unterschiedlichen Implementierung gegeben werden:

jQuery Event Modell

  • einheitliche Methoden für das Registrieren von Eventhandlern
  • verschiedene Eventhandlern gleichen Typs auf ein Element registrierbar
  • standardisierte Namen für Eventtypen

bind(eventtyp, [data,] listener)

Registriert eine Eventhandler-Funktion für den übergebenen Eventtyp auf dem ausgewählten Set von Elementen.
Beispiel: Registriere 2 Eventhandler vom Typ click auf dem ersten Bild < img> und gibt für jede listener -Funktionen einen Text auf dem Element mit der ID output aus.

$("img:first").bind("click", function(event) {
  $("#output").append("ein Klick (Handler 1), ");
}).bind("click", function(event) {
  $("#output").append("ein Klick (Handler 2)<br/>");
});

eventtypname(listener)

Alternativ zur bind() -Methode sind die Eventtypen auch direkt als Methoden verfügbar. Damit verkürzt sich die Schreibweise für das Registrieren von Events.
Beispiel: Registriere einen Eventhandler vom Type click auf dem ersten Bild < img> und öffne als Aktion eine Alertbox.

$("img:first").click(function() {
   alert("Ein Klick!");
});

Eventtypen:

blur focus mousedown resize
change keydown mousemove scroll
click keypress mouseout select
dblclick keyup mouseover submit
error load mouseup unload

weiter Informationen: http://docs.jquery.com/Events

unbind(eventtyp, [listner])

Deregistriere die Eventhandler-Funktion für den übergebenen Eventtyp auf dem ausgewählten Set von Elementen.
Beispiel: Deregistriere alle Eventhandler vom Typ click auf dem ersten Bild < img>.

$("img:first").unbind("click");

Das Deregistrieren einzelner Eventhandler vom gleichen Typ ist nur dann möglich, wenn die listener -Funktion als Top-Level-Funktion definiert wurde. Inline-Funktionen wie im bind() -Beispiel können nicht einzel deregistriert werden.

one(eventtyp, [date,] listener)

Registriert einen Eventhandler vom angegeben Type. Nach einmaligem Auslösen des Events wird der Eventhandler automatisch deregistriert.

trigger(eventtyp)

Löst das auf dem ausgewählten Set von Elementen registrierte Event aus. Voraussetzung dafür ist, dass Event mit dem übergebenen Typ auf dem ausgewählten Elementset existiert.
Beispiel: Auf dem Bild mit der ID scholle wird ein click -Event registriert, welches als Aktion das wechseln der Klasse red_border ausführt. Auf dem Bild mit der ID wels wird ein click -Event registriert, welches ein click -Event auf dem Bild mit der ID scholle auslöst.

$("img#scholle").click(function() {
  $(this).toggleClass("red_border");
});
$("img#wels").click(function() {
  $("img#scholle").trigger("click")
});

Trigger werden häufig auf Eventhandler-Funktionen (als Kette) angewandt, um das erstmalige Auslösen des Events nach Laden der Seite auszulösen.

toggle(listenerOdd, listenerEven)

deprecated, removed in jQuery 1.9

Die Methode toggle() registriert ein click -Event auf dem ausgewählten Elementeset und führt bei jedem Auftreten des Events wechselweise die listenerOdd oder listenerEven -Funktion aus.

hover(listenerOver, listenerOut)

Die Methode hover() arbeitet ähnlich zu toggle(). Dabei werden für die Eventtypen mouseover und mouseout listener -Funktionen registriert.
Beispiel: Hebe Tabellenzellen hervor, welche sich unter dem Mousezeiger befinden.

$("th, td").hover(function() {
  $(this).addClass("yellow_bg");
}, function() {
  $(this).removeClass("yellow_bg");
});

Ausbreitung von Events und deren Beeinflussung

Events, beispielsweise ein click auf einen Link breiten sich im DOM-Baum von den Blättern (im Beispiel der Link <a>) über die Elternelemente bis zur Wurzel (<html> -Element) aus.

Prüfen wir das mit folgendem Test nach:

$("*").click(function() {
  $("#output").append("Event: " + $(this).prop('tagName') + "<br/>");
});

Das Ausbreiten von Events wird auch als event bubbling bezeichnet.

Beeinflussung

Die Ausbreitung sowie die Ausführung von Standardaktionen, wie beispielsweise das Folgen eines Links kann über den return -Code der listener -Funktion gesteuert werden.

$("*").click(function() {
  $("#output").append("Event: " + $(this).prop('tagName') + "<br/>");
});
$("a, input:checkbox").click(function() {
  $(this).addClass("yellow_bg");
  return false;
});

siehe auch: event.stopPropagation() und event.preventDefault() -Methoden http://api.jquery.com/category/events/

  • Blick in einen vollbesetzten Hörsaal.

    Umfangreicher Service für Studieninteressierte

    Für einen optimalen Start ins Wintersemester 2026/2027: TU Chemnitz bietet neben dem Servicetelefon individuelle Beratungsgespräche und Informationen im Internet an – Einschreibung in zulassungsfreie Studiengänge ist noch bis zum 31. Oktober 2026 möglich …

  • Eine Frau blickt in die Kamera

    Workshop bringt Forschung und Praxis zur Sexarbeit zusammen

    Zwölfter Interdisziplinärer Workshop „Kritische Sexarbeitsforschung“ vom 13. bis 15. November 2026 in Chemnitz. Öffentliche Abendveranstaltung lädt zum Austausch zwischen Forschung und Praxis ein …

  • Ein saniertes Gebäude

    Mit KI reden – und 30 Euro für 45 Minuten verdienen

    Professur Arbeitswissenschaft und Innovationsmanagement der TU Chemnitz sucht Versuchspersonen für eine Vor-Ort-Studie zur Interaktion mit KI-gestützten Sprachassistenten …

  • Drei junge Menschen schauen in die Kamera

    TUCgraduate Day am 10. November 2026

    Internationale Forschungsaufenthalte, Netzwerke und Karrierewege sind 2026 die Schwerpunktthemen des TUCgraduate Day der TU Chemnitz – Anmeldung ab sofort möglich …