Das Setzen des Click Events auf document innerhalb eines anderen Click Events löst sofort den Click auf document aus (jQuery): Unterschied zwischen den Versionen

Aus ITwiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Problem == Über '''bind''' oder '''click''' wird auf ein Objekt eine Funktion als Event gesetzt. Innerhalb dieser Funktion soll auf das '''document''' ein…“)
 
K
 
Zeile 1: Zeile 1:
 
== Problem ==
 
== Problem ==
  
Über '''bind''' oder '''click''' wird auf ein Objekt eine Funktion als Event gesetzt. Innerhalb dieser Funktion soll auf das '''document''' ein Click Event gesetzt werden. Dieses Click Event auf '''document''' wird jedoch sofort ausgelöst und nicht erst beim nächsten Click.  
+
Über '''bind''' oder '''click''' wird auf ein Objekt eine Funktion als Event gesetzt. Innerhalb dieser Funktion soll auf '''document''' ein Click Event gesetzt werden. Dieses Click Event auf '''document''' wird jedoch sofort ausgelöst und nicht erst beim nächsten Click.  
  
 
<source lang="javascript">
 
<source lang="javascript">

Aktuelle Version vom 2. Januar 2014, 15:14 Uhr

Problem[Bearbeiten]

Über bind oder click wird auf ein Objekt eine Funktion als Event gesetzt. Innerhalb dieser Funktion soll auf document ein Click Event gesetzt werden. Dieses Click Event auf document wird jedoch sofort ausgelöst und nicht erst beim nächsten Click.

$("#button").bind('click',function(){

    ...

    $(document).bind('click',function(){           
      
     ...

    });
});

Lösung[Bearbeiten]

Mit der Funktion stopPropagation() des übergebenen Event Objekts (im Beispiel unten e) kann der Click auf document verhindert werden.


$("#button").bind('click',function(e){

    e.stopPropagation();

    ...

    $(document).bind('click',function(){           
      
        ...

    });
});

Bewertung[Bearbeiten]

War diese Information hilfreich?
Bitte stimme unten ab.
0
0
Es wurden seit Erstellung der Umfrage am 02:37, 13. Nov. 2017 0 Stimmen abgegeben.
poll-id D41D8CD98F00B204E9800998ECF8427E