tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
3094
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Peter Klein
    Peter Klein Peter Klein ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Beiträge
    614
    Hallo,

    irgendwie stehe ich auf dem Schlauch gerade. Wie kann ich in jQuery in einer if-Abfrage checken ob ein Element angeklickt wurde?

    Grüße

    Peter
     
    Brillen, Sonnenbrillen und Kontaktlinsen

    "Stimmt es, daß die Arbeit am Computer dumm macht?" - "Sie haben nichts zu befürchten. Computer können einen wahnsinnig machen, aber nicht dumm."

  2. #2
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.960
    Ich hab es jetzt nicht geprüft, aber ich denke, dass es so gehen dürfte:
    Code JavaScript:
    1
    2
    3
    
    if($("p").click()) {
      // Code ausführen
    }
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  3. #3
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    über event.target sollte das ereignisauslösende Element zu ermitteln sein.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  4. #4
    Avatar von Peter Klein
    Peter Klein Peter Klein ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Beiträge
    614
    Zitat Zitat von einfach nur crack Beitrag anzeigen
    Ich hab es jetzt nicht geprüft, aber ich denke, dass es so gehen dürfte:
    Code JavaScript:
    1
    2
    3
    
    if($("p").click()) {
      // Code ausführen
    }
    Hi, das funktionierte nicht, was ich komisch fand. Deswegen postete ich es hier.
     
    Brillen, Sonnenbrillen und Kontaktlinsen

    "Stimmt es, daß die Arbeit am Computer dumm macht?" - "Sie haben nichts zu befürchten. Computer können einen wahnsinnig machen, aber nicht dumm."

  5. #5
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    ich weiss ja nicht, worauf du genau hinaus willst. Solltest du allerdings zahlreichen Elementen einen Eventhander zuweisen, willst jedoch nur auf eins gezielt reagieren, solltest du das von mir bereits empfohlene target in Verbindung mit der Methode is in Erwägung ziehen.

    Beispiel:
    Allen p-Elementen wird ein click-Handler zugewiesen, aber nur beim Element mit der ID testID wird gezielt reagiert.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    <html>
    <head>
    <title>www.tutorials.de</title>
    <meta name="author" content="Quaese" />
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <script src="jquery.js" type="text/javascript"></script>
    <script type="text/javascript">
      <!--
    $(function(){
      $("p").click(function(evt){
        // Auslösendes Element
        var objTarget = $(evt.target);
        // Falls das auslösende Element dem gesuchten entspricht
        if(objTarget.is('#testID'))
          alert("Treffer");
      });
     
    });
     //-->
    </script>
    </head>
    <body>
    <p id="testID">Testelement 1 (ich reagiere)</p>
    <p id="testID_02">Testelement 2</p>
    <p id="testID_03">Testelement 3</p>
    <p id="testID_04">Testelement 4</p>
    <p id="testID_05">Testelement 5</p>
    <p id="testID_06">Testelement 6</p>
    <p id="testID_07">Testelement 7</p>
    </body>
    </html>

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  6. #6
    Avatar von Peter Klein
    Peter Klein Peter Klein ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Beiträge
    614
    Hi, ja ich bin gerade dabei mir das anzuschauen mit event.target. scheint das zu sein, womit ich arbeiten kann.

    Bin gerade bissl dabei (vor langeweile) meine jQuery Skills aufzufrischen. und ein bisschen am scripten.

    Es ist nichts sehr wichtiges :-D

    Schaue jetzt mal obs mich weiterbringt
     
    Brillen, Sonnenbrillen und Kontaktlinsen

    "Stimmt es, daß die Arbeit am Computer dumm macht?" - "Sie haben nichts zu befürchten. Computer können einen wahnsinnig machen, aber nicht dumm."

  7. #7
    aurus aurus ist offline Mitglied Bronze
    Registriert seit
    Jun 2011
    Beiträge
    29
    Ich bin gerade über Google auf dieses Thema gestoßen, weil ich gerade vor einem ähnlichen Problem stehe. Deswegen hole ich es mal wieder hervor. Hoffe, dass das in Ordnung ist

    Im Grunde möchte ich etwas ähnliches erreichen.
    Werden in einem bestimmten Container (Navigation) Links angeklickt (mache ich mit live()), werden mittels Ajax bestimmte Inhalte nachgeladen. Jetzt möchte ich, dass bei Seitenstart und wenn andere Elemente angeklickt werden, etwas anderes angezeigt wird. Ich möchte also feststellen, ob Links in der Navigation geklickt wurden, oder anderswo auf der Seite. Wie kann ich das am besten machen?

    Komme da gerade irgendwie nicht weiter :/
     

  8. #8
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.960
    Ich gehe mal davon aus, dass deine Navigationsleiste sich in einem eigenen Container befindet (also die einzelnen Navigationselemente sich in einem übergeordneten Element befinden). Dann kannst du einfach folgendes ausprobieren:
    Code Javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    $(function () {
      $(document).onclick(function(evt) {
        var element = $(evt.target).parent();
        
        if(element.is('#navigation-bar')) {
          alert('you clicked on an element in the navigation bar');
        } else {
          alert('you clicked on an element outside of the navigation bar');
        }
      });
    });
    Und dazu der HTML-Teil:
    HTML-Code:
    <div id="navigation-bar">
      <a>menu 1</a>
      <a>menu 2</a>
    </div>
    <div id="content">
      <h1>headline 1</h1>
    </div>
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  9. #9
    aurus aurus ist offline Mitglied Bronze
    Registriert seit
    Jun 2011
    Beiträge
    29
    Ah, dankeschön, das ist ein guter Tip
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 20.10.10, 20:47
  2. Antworten: 9
    Letzter Beitrag: 22.07.10, 15:51
  3. Antworten: 3
    Letzter Beitrag: 12.07.10, 13:27
  4. jQuery: jQuery auf AJAX Response anwenden
    Von pointsdächster im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 12.04.10, 01:15
  5. Kleine jQuery Abfrage funktioniert unter IE nicht
    Von messmar im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 18.09.09, 14:09