Hendrik Sachse: Event Queue Verschachtelten onclick-handlern

Hallo,

hab folgenden fall:
In einer Tabelle hab ich für jede Zeile einen onclick definiert.
In einer Zelle der Zeile möchte ich den aber nicht haben. Wenn ich für diese Zelle einen anderen handler definiere, werden beide ausgeführt. Kann ich die event-queue irgendwie abbrechen?

Danke
Hendrik

  1. Hallo,

    In einer Tabelle hab ich für jede Zeile einen onclick definiert.
    In einer Zelle der Zeile möchte ich den aber nicht haben. Wenn ich für diese Zelle einen anderen handler definiere, werden beide ausgeführt. Kann ich die event-queue irgendwie abbrechen?

    Das Event-Bubbling kann man mit stopPropagation() bzw. cancelBubble (IE) abbrechen.
    http://www.quirksmode.org/js/events_order.html#link9

    function handler (e) {
       if (!e) e = window.event;
       if (e.stopPropagation) e.stopPropagation()
       else e.cancelBubble = true;
    }

    Die Funktion weist du dynamisch dem td-Element als click-Handler zu, dann kommt der click-Event nicht beim darüberliegenden tr an.

    Mathias

    1. Hallo,

      In einer Tabelle hab ich für jede Zeile einen onclick definiert.
      In einer Zelle der Zeile möchte ich den aber nicht haben. Wenn ich für diese Zelle einen anderen handler definiere, werden beide ausgeführt. Kann ich die event-queue irgendwie abbrechen?

      Das Event-Bubbling kann man mit stopPropagation() bzw. cancelBubble (IE) abbrechen.
      http://www.quirksmode.org/js/events_order.html#link9

      function handler (e) {
         if (!e) e = window.event;
         if (e.stopPropagation) e.stopPropagation()
         else e.cancelBubble = true;
      }

      Die Funktion weist du dynamisch dem td-Element als click-Handler zu, dann kommt der click-Event nicht beim darüberliegenden tr an.

      Mathias

      Danke, funktioniert perfekt