Ankündigung

Einklappen
Keine Ankündigung bisher.

Code Ausführung in Listener abbrechen möglich?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Code Ausführung in Listener abbrechen möglich?

    Wenn ich einen Listener habe

    Code:
     $('body').on('click', '*', function (e){ if(condition1)   return;     // more code }
    Gibt es eine andere Möglichkeit als mit Klammern die Ausführung von weiterem Code dieses einen Listeners zu unterbinden? Das return hat bei mir den ungewollten Effekt, dass bei Klick auf die Bootstrap Navigation in der obersten Ebene der Link ausgeführt wird statt dass der Drop Down reagiert. Was Ähnliches wie break in php innerhalb von Schleifen für den Listener, sozusagen. False will ich nicht zurückgeben, das könnte ja wieder andere ungewünschte Effekte haben.

  • #2
    Wenn ich dich richtig verstehe, suchst du e.preventDefault(); um die Ausführung der weiteren onClick Listener zu unterbinden.

    Kommentar


    • #3
      Das Problem lag gar nicht wie gedacht am return, sondern an einem e.stopImmediatePropagation();.

      Ich frag noch mal neu. Ich will einen Klick irgendwo ins Dokument abfangen und fragen, ob Daten gespeichert werden sollen.


      Code:
      $('html').on('click', 'body', function (e) {
      }
      Der Listener wird aber immer zweimal aufgerufen. Bisher habe ich sowas immer mit
      e.stopImmediatePropagation(); abgefangen, das funktioniert in diesem Fall aber nicht, weil dann das Bootstrap Menü wie oben beschrieben nicht mehr richtig funktioniert. Woran kann es liegen, dass der Listener zweimal aufgerufen wird, bzw. wie könnte ich das rauskriegen? Und wie kann ich das unterbinden?

      Kommentar


      • #4
        Das sauberste wäre nicht mit body oder html zu arbeiten, sondern das elemnt anzusprechen, oin dem der klick interessant ist.
        das sollte - da ja wohl die navigation beeinflusstb ist - nicht so schwer zu finden sein.
        andernfalls lese doch mal den artikel:
        https://molily.de/js/event-handling-effizient.html

        Kommentar

        Lädt...
        X