Linuchs: onclick-event nicht weiterreichen

Hallo,

ich nutze das onclick-event, um einen Container ein- und auszublenden (visibility).

Nun enthält dieser Container einen Absatz, der bei onclick ein Formular aufklappen soll.

Das wird zwar aufgeklappt, aber auch der Container ausgeblendet.

Wie erreiche ich, dass onclick aus der Sicht des Absatzes nicht weitergereicht wird? Die Angabe onclick=false löst das Problem nicht:

document.write( "<p class=\"cdrot mb00 cur_pointer\" onclick=\"document.getElementById('kommentar').style.display='block'; onclick=false;\"><img class=ic_gr src=\"img/icon_share.gif\" alt=share> diese Veranstaltung empfehlen <\/p>"

Linuchs

  1. Hi

    ich nutze das onclick-event, um einen Container ein- und auszublenden (visibility).

    Nun enthält dieser Container einen Absatz, der bei onclick ein Formular aufklappen soll.

    hast du nicht die Möglichkeit ein (unsichtbares) Element über den Absatz 'drüber'zulegen - für das aufklapp-event ?
    Habs nicht ausprobiert - nur so ein Gedanke.

    Viele Grüße aus LA

    --
    ralphi
  2. Hi,

    ich empfehle die Lektüre von molilys Javascript-Tutorial. Da ist auch beschrieben, wie man Event-Bubbling verhindert.

    Gruß
    peter

  3. Hi,

    Die Angabe onclick=false löst das Problem nicht:

    Natürlich tut sie das nicht – weil sie in der Form absoluter Humbug ist.

    document.write( "<p class=\"cdrot mb00 cur_pointer\" onclick=\"document.getElementById('kommentar').style.display='block'; onclick=false;\"><img class=ic_gr src=\"img/icon_share.gif\" alt=share> diese Veranstaltung empfehlen <\/p>"

    Der Inhalt deines onclick-Attributes lautet hier

    document.getElementById('kommentar').style.display='block'; onclick=false;

    – also weist du hier lediglich einer Variablen mit dem Namen onclick den Wert false zu.

    „Aus“ dem Eventhandler selber müsste false zurück gegeben werden – onclick="foo(); return false;"

    (Allerdings ist das echt „Event-Handling aus dem letzten Jahrtausend“ …)

    MfG ChrisB

    --
    Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/
    1. Hi,

      „Aus“ dem Eventhandler selber müsste false zurück gegeben werden – onclick="foo(); return false;"

      Das verhindert aber auch nicht das Event-Bubbling, sondern lediglich die Ausführung von Standardaktionen des Elementes. Ist also bei <p>-Elementen recht sinnfrei, da keine Standardaktion vorhanden. Eher was für Links etc.

      Daß der ganze Code recht fragwürdig ist, ignorier ich einfach mal und bezieh mich bei meinen Antworten lediglich auf die gestellte Frage. Nur eines mal: Was soll das document.write("..."); eigentlich? Sollte doch auch ohne gehen.

      Gruß
      peter