PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Beliebigen Klick mit jQuery abfangen


Foxxy
03.04.2009, 16:52:54
Hallo erstmal zusammen, ;)

ich habe da gerade ein kleines Problem mit jQuery, dessen Ursache mir nicht so ganz erschließt.
Und zwar:
Ich möchte jeden Klick der irgendwo in der Seite gemacht wird abfangen, so weit so gut.
Meine erste Lösung war dann:


<script type="text/javascript">
var test = 0;

$(this).click(function(){
alert(this.test);
});
</script>


Funktioniert mit Opera und Firefox bestens, nur der IE7 ignoriert die Anweisung...

Also Versuch Nr. 2:

<script type="text/javascript">
var test = 0;

$("body").click(function(){
alert(this.test);
});
</script>

Wird von allen 3 Browser ignoriert. (Ein normales onclick="" im Body-Tag funktioniert aber tadellos...)

Die 3. und 4. Möglichkeit die ich dann gemacht hab war:

<script type="text/javascript">
var test = 0;

$("html").click(function(){
alert(this.test);
});
</script>


<script type="text/javascript">
var test = 0;

$(document).click(function(){
alert(this.test);
});
</script>


Das ist jetzt der Fehler, der mich eigentlich Verwirrt, wenn ich den Klick so abfange, kann ich nicht mehr auf die Globale test-Variable zugreifen. Es wird mir einfach nur ein "undefined" angezeigt... Aber warum?
Da ich doch ehr unerfahren in Javascript und jQuery bin, ist die Lösung wahrscheinlich ganz simpel, aber hab dazu bis jetzt noch nichts bei google gefunden, was mir weiter helfen würde.

P.S.: Ja ich könnte mich jetzt einfach mit einem Manuellem onclick="" im body-Tag zufrieden geben, aber ich will mich ja auch weiter Bilden und wissen warum das so nicht geht ;)


Danke schonmal!

Sonnige Grüße,

Foxxy

minou
06.04.2009, 07:48:58
Hallo,

dies ist nur so ein Blitzgedanke:
Ich glaubte zu wissen dass Tags wie body, html oder ähnliches (also Tags der HTML Struktur) nicht in "" geschrieben wird.
also wäre es in diesem Fall etwas wie...


<script type="text/javascript">
var test = 0;

$(body).click(function(){
alert(this.test);
});
</script>



Vielleicht hilft das weiter?

Gruss

Fredi

Foxxy
06.04.2009, 21:17:32
hey minou,

erstmal Danke für den Tipp, leider funktioniert das auch nicht....

Sonst noch irgendwer ne Idee?

Gruß,

Foxxy

R. Woitaschik
15.04.2009, 15:29:53
Hi,
wenn Du im onclick this verwendest, so bezieht sich das this auf das aktuelle element, also das element, welches den onclick ausgelöst hat.
Versuch mal mit alert(window.test)
Gruß
Richard

Foxxy
16.04.2009, 19:16:34
Hi,
wenn Du im onclick this verwendest, so bezieht sich das this auf das aktuelle element, also das element, welches den onclick ausgelöst hat.
Versuch mal mit alert(window.test)
Gruß
Richard

Hey,

vielen dank, das hat geholfen :).

Schöne Grüße,

Foxxy