onMousemove feuert, obwohl die Maus nicht bewegt wird
JCB
- javascript
0 Chris0 JCB0 Struppi0 Thomas J.S.
0 Der Martin0 JCB
Tach auch!
Ich hab hier ein Phänomen, das ich mir nicht erklären kann. Ich verwende in einem HTML-Dok im body-Tag onMousemove="test()". Die Funktion wird auch bei der ersten Mausbewegung ausgeführt und setzt dabei einen Counter zurück. Jetzt wird die Funktion aber auch ausgeführt, wenn die Maus nicht bewegt wird?!
Wer wird daraus schlau ;)?
Danke im Vorraus!
Gruß,
JCB
PS: Es geht lediglich um den IE6.0
Hallo,
lass Dir mal die Positionen ausgeben...
Wenn Du da einen Jitter auf der leitung hast, dann kommt das schon mal vor, dass die angezeigte Position zwischen zwei möglichen Positionen hin und her springt.
Sollte man also auf jeden Fall mit zwei unterschiedlichen Hardware-Ausstattungen testen.
LG
Chris
Hi!
lass Dir mal die Positionen ausgeben...
Wenn Du da einen Jitter auf der leitung hast, dann kommt das schon mal vor, dass die angezeigte Position zwischen zwei möglichen Positionen hin und her springt.
Sollte man also auf jeden Fall mit zwei unterschiedlichen Hardware-Ausstattungen testen.
Position hatte ich schon testweise ausgegeben. Die bleibt gleich. Der Cursor bleibt ja auch stehn, wackelt also nicht hin und her, ohne das die Maus bewegt wird.
Gruß,
JCB
Position hatte ich schon testweise ausgegeben. Die bleibt gleich. Der Cursor bleibt ja auch stehn, wackelt also nicht hin und her, ohne das die Maus bewegt wird.
Dann wird die Funktion sicher nicht so aufgerufen wie du es im Ausgangsposting beschrieben hast.
Struppi.
Hallo,
Position hatte ich schon testweise ausgegeben. Die bleibt gleich. Der Cursor bleibt ja auch stehn, wackelt also nicht hin und her, ohne das die Maus bewegt wird.
Dann wird die Funktion sicher nicht so aufgerufen wie du es im Ausgangsposting beschrieben hast.
Es ist eher etwas IE typisches:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
function test() {
alert("booh!");
}
</script>
</head>
<body>
<p onMousemove="test()" style="width:200px; height:200px; border:solid;">x</p>
</body>
</html>
Grüße
Thomas
Mahlzeit.
Das ist klar
alert("booh!")
Bei einem Alert im Ie wird die Cursorposition immer neu gesetzt und an den Browser gesendet. Da du hier entweder mit der Maus (was die funktion 100% nochmals startet) auf "ok" klicken musst. Oder du drückst die Leertaste, was aber genau den selben effekt hat.
var unterbrecher = 0
function test() {
setTimeout("unterbrecher=1",5)
if(unterbrecher==0)
{
alert("booh!")
unterbrecher=0
}
}
Vielleicht hilft dir diese Struktur weiter.
Kann sein, dass diese Version deine Funktion am anfang etwas verzögert, aber dafür ballert die onmousemove-Funktion nicht permanent los.
MFG
Griever
Mahlzeit.
var unterbrecher = 0
function test() {
setTimeout("unterbrecher=0",5)
if(unterbrecher==0)
{
alert("booh!")
unterbrecher=1
}
}
Kleiner Fehler ...
MFG
Griever
Hallo an alle :)!
Vielen Dank für die vielen Antworten! Jedoch hat sich das Problem in Luft aufgelöst. Und zwar hab ich nur den Rechner neugestartet. Seit dem läuft alles normal. Das hätte ich ehrlich gesagt ja auch gestern mal machen können :/. Naja, danke trotzdem nochmal für die Hilfe!
Gruß,
JCB
Vielen Dank für die vielen Antworten! Jedoch hat sich das Problem in Luft aufgelöst. Und zwar hab ich nur den Rechner neugestartet. Seit dem läuft alles normal. Das hätte ich ehrlich gesagt ja auch gestern mal machen können :/. Naja, danke trotzdem nochmal für die Hilfe!
Vermutlich lag es eher am Cache, da hätte es auch ein [SHIFT]-[F5] getan.
Struppi.
Hi!
Vermutlich lag es eher am Cache, da hätte es auch ein [SHIFT]-[F5] getan.
Vielleicht. Aber was soll denn [SHIFT]-[F5] bewirken? Bei IE passiert da nix.
Gruß,
JCB
Vermutlich lag es eher am Cache, da hätte es auch ein [SHIFT]-[F5] getan.
Vielleicht. Aber was soll denn [SHIFT]-[F5] bewirken? Bei IE passiert da nix.
Stimmt. [Shift] und der Reloadbutton bewirkt ein neuladen der Seite unter umgehung des Caches.
Struppi.
Hallo,
Vielleicht. Aber was soll denn [SHIFT]-[F5] bewirken? Bei IE passiert da nix.
Stimmt. [Shift] und der Reloadbutton bewirkt ein neuladen der Seite unter umgehung des Caches.
Beim Moz/FF, richtig. Und beim IE erreicht man dasselbe mit Ctrl-F5 oder Ctrl und Klick auf den Reload-Button.
So long,
Martin
Dann wird die Funktion sicher nicht so aufgerufen wie du es im Ausgangsposting beschrieben hast.
Es ist eher etwas IE typisches:
Statt einen alert() läßt sich das Verhalten leichter mit einem Tähler beobachten und dann ist alles in Ordnung.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
var c = 0;
function test() { window.status = c++;};
</script>
</head>
<body >
<p onMousemove="test()" style="width:200px; height:200px; border:solid;">x</p>
</body>
</html>
Struppi.
Hallo Struppi,
[...] leichter mit einem Tähler beobachten und dann ist alles in Ordnung.
bitte _womit_?
*scnr*
Martin
[...] leichter mit einem Tähler beobachten und dann ist alles in Ordnung.
bitte _womit_?
Oh stimmt, mit einem Thäler.
Struppi.
Hallo,
Es ist eher etwas IE typisches:
Statt einen alert() läßt sich das Verhalten leichter mit einem Tähler beobachten und dann ist alles in Ordnung.
Vermutlich liegt es daran, dass ich keinen Tähler habe ;-)
Aber das andauenrdes "feuern" bleibt jedoch dem IE vorbehalten (OK, Opera 5.12 und 6.05 macht das auch noch, aber ab 7.54 bis 9p1 auch nicht mehr und FF und Moz. ebenfalls nicht.)
Aber einen Tähler zu haben ist trotzdem eine schöne Sache! :)
Grüße
Thomas
Vermutlich liegt es daran, dass ich keinen Tähler habe ;-)
Jajaja
Aber das andauenrdes "feuern" bleibt jedoch dem IE vorbehalten (OK, Opera 5.12 und 6.05 macht das auch noch, aber ab 7.54 bis 9p1 auch nicht mehr und FF und Moz. ebenfalls nicht.)
Wie gesagt bei mir feuert der onmove Event nur, wenn eine alert() Meldung erzeugt wird. Mit einem T^Z.. - ach ihr wißt schon - wird der Event nur gefeuert wenn die Maus bewegt wird.
Aber einen Tähler zu haben ist trotzdem eine schöne Sache! :)
Jop.
Struppi.
Hallo,
[onmousemove] Jetzt wird die Funktion aber auch ausgeführt, wenn die Maus nicht bewegt wird?!
Wirklich nicht bewegt? Manche Mäuse sind etwas nervös und der Zeiger zuckt, auch wenn das Tierchen ruhig auf dem Tisch liegt, ab und zu mal ein Pixel hin oder her.
PS: Es geht lediglich um den IE6.0
Meinst du damit, das Problem tritt nur im IE6 auf? Oder verwendest du nur den IE6 zum Testen (was sehr kurzsichtig wäre)? Denn wenn onmousemove bei anderen Browsern nicht zündet, kann man die Maus selbst (meine oben formulierte These) schon mal als Ursache ausschließen und muss wirklich nach Fehlern in deinem Code oder nach einem Browserbug suchen. Eine Online-Testseite wäre da bestimmt sehr hilfreich.
So long,
Martin
Hi!
Wirklich nicht bewegt? Manche Mäuse sind etwas nervös und der Zeiger zuckt, auch wenn das Tierchen ruhig auf dem Tisch liegt, ab und zu mal ein Pixel hin oder her.
Nene, da zuckt nix. Das ist es ja.
Meinst du damit, das Problem tritt nur im IE6 auf? Oder verwendest du nur den IE6 zum Testen (was sehr kurzsichtig wäre)? Denn wenn onmousemove bei anderen Browsern nicht zündet, kann man die Maus selbst (meine oben formulierte These) schon mal als Ursache ausschließen und muss wirklich nach Fehlern in deinem Code oder nach einem Browserbug suchen. Eine Online-Testseite wäre da bestimmt sehr hilfreich.
Ich meinte damit, dass ich nur für den IE entwickel. Und eine Onlinetestseite hab ich leider auch nicht, da das ein IntranetProjekt ist (daher auch nur IE ;)).
Gruß,
JCB