ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
3094
3094
EMPFEHLEN
-
16.11.09 10:21 #1
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
PeterBrillen, 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."
-
16.11.09 10:30 #2
- 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.
-
Hi,
über event.target sollte das ereignisauslösende Element zu ermitteln sein.
Ciao
QuaeseVielleicht 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
-
16.11.09 11:39 #4Brillen, 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."
-
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
QuaeseVielleicht 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
-
16.11.09 12:50 #6
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 weiterbringtBrillen, 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."
-
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 :/
-
25.09.11 16:13 #8
- 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:
Und dazu der HTML-Teil: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'); } }); });
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.
-
Ah, dankeschön, das ist ein guter Tip
Ähnliche Themen
-
Formularverarbeitung im Hintergrund +File Upload / jquery /jquery.valitation
Von Strafi im Forum PHPAntworten: 3Letzter Beitrag: 20.10.10, 20:47 -
[jQuery-dataTables] jQuery dataTable erstellen mit DB-Einträgen
Von Bexx im Forum Javascript & AjaxAntworten: 9Letzter Beitrag: 22.07.10, 15:51 -
[jQuery] - Selektor Prinzip bzw. Struktur von jQuery nachbilden
Von Munch im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 12.07.10, 13:27 -
jQuery: jQuery auf AJAX Response anwenden
Von pointsdächster im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 12.04.10, 01:15 -
Kleine jQuery Abfrage funktioniert unter IE nicht
Von messmar im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 18.09.09, 14:09





Zitieren



Login





