Hannes Weninger: events stoppen

Hallo,

ich bin mir jetzt nicht sicher wie der Ausdruck heißt, ich glaub propagation. Meine Frage wäre jetzt, wie man das stoppen kann.

Ich habe folgendes HTML:

<span ng-click="functionAussen()" ...>
    <span ng-click="functionInnen()" ... />
</span>

Wenn das so ist, dann wird zuerst functionInnen und dann functionAussen aufgerufen. Ich möchte aber, wenn man das innere span anklickt - also functionInnen, dann sollte functionAussen nicht aufgerufen werden. Ich verwende übrigens AngularJS.

Danke für Eure Hilfe! Hannes

  1. Tach!

    ich bin mir jetzt nicht sicher wie der Ausdruck heißt, ich glaub propagation.

    stopPropagation() heißt die Methode des Event-Objekts, die du aufrufen musst. Aber zunächst brauchst du dieses Event-Objekt.

    Ich verwende übrigens AngularJS.

    Angular stellt es dir in der Variable $event zur Verfügung. Du kannst das direkt in ng-click verwenden oder an die aufgerufene Funktion weitergeben und dann in ihr das Event stoppen, beispielsweise dann, wenn das fallabhängig passieren soll.

    ng-click="handler(); $event.stopPropagation();"
    ng-click="handler($event)"
    

    dedlfix.