Hallo zusammen,
Für eine bestimmte Problemlösung möchte ich einen Eventhandler für onmousemove so schreiben, dass - solange die Maus gedrückt ist - eine bestimmte Aktion durchgeführt wird.
Hierzu benutze ich bislang dieses Script:
Code:
<html>
<head>
<script type="text/javascript" language="JavaScript">
var mousepressed = false;
function proceed(Ereignis)
{
var i = 1;
while (mousepressed)
{
i = i+1;
}
alert(i);
}
function start(evt)
{
if ( evt.which == 1 )
mousepressed = true;
}
function stop(evt)
{
if ( evt.which == 1 )
mousepressed = false;
}
document.onmousedown = start;
document.onmouseup = stop;
document.onmousemove = proceed;
</script>
</head>
<body>
</body>
</html>
Hier habe ich allerdings folgendes Problem: Sobald ich die Maustaste gedrückt halte und dann das OnMouseMove-Event durch bewegen der Maus aufrufe, bleibt der Browser hängen. Ursache dafür dürfte die Endlosschleife sein, die durchlaufende Schleife behindert das OnMouseUp-Event.
Nun meine Frage: Wie kann ich das Problem lösen, ohne dass alles hängen bleibt, und es trotzdem so funktioniert, wie ich möchte, nämlich, dass die while-Schleife so lange durchlaufen wird, wie die Maus bei gedrückter Taste bewegt wird und anschließend, nachdem die Maus losgelassen wurde, die Zahl der Durchläufe ausgegeben wird.
Ich freue mich auf alle Antworten!