Key-Event abfangen
Problembär
- javascript
0 Tom0 Der Martin0 dedlfix0 Problembär0 MudGuard0 Problembär0 molily
0 Tom0 molily
0 Der Martin0 Tom
Hallo,
Firefox springt bei Druck auf die Space-Taste immer ein paar Schritte nach unten, sichtbar auf Seiten, die "längeren" Content haben als der Viewport. Dieses Verhalten tritt nur nicht auf, wenn man sich in einem input Feld befindet. Logischerweise.
Ich möchte dieses Verhalten nicht[*]. Ich möchte also nicht, wenn jemand auf meiner Website die Spacetaste drückt, dass die Seite ein paar Schritte nach unten springt. Welche Möglichkeiten gibt es, dieses Verhalten abzufangen? Geht das überhaupt?
[*] Hintergrund: Intranet-Grafikanwendung, die auf <Leertaste> mit einem Drag-Verhalten reagieren soll. Ein Springen der Page nach unten ist zu vermeiden.
Hello,
Firefox springt bei Druck auf die Space-Taste immer ein paar Schritte nach unten, sichtbar auf Seiten, die "längeren" Content haben als der Viewport. Dieses Verhalten tritt nur nicht auf, wenn man sich in einem input Feld befindet. Logischerweise.
Ich möchte dieses Verhalten nicht[*]. Ich möchte also nicht, wenn jemand auf meiner Website die Spacetaste drückt, dass die Seite ein paar Schritte nach unten springt. Welche Möglichkeiten gibt es, dieses Verhalten abzufangen? Geht das überhaupt?
[*] Hintergrund: Intranet-Grafikanwendung, die auf <Leertaste> mit einem Drag-Verhalten reagieren soll. Ein Springen der Page nach unten ist zu vermeiden.
Ich habe das mal für dich "gegoogelt". Ob der Vorschlag funktioniert, musst Du bitte mal selber ausprobieren und dann bitte hier Response geben :-)
http://www.webmasterworld.com/javascript/3224261.htm
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
der entscheidende Knackpunkt, der dort erklärt wird, ist wohl dieser:
Firefox uses the spacebar as a second (and unnecessary) pagedown key.
Opera tut das übrigens auch. Wer noch?
Wie die Browserhersteller auf so eine dämliche Idee kommen, verstehe ich allerdings nicht.
Ciao,
Martin
Tach!
Firefox uses the spacebar as a second (and unnecessary) pagedown key.
Opera tut das übrigens auch. Wer noch?
Crome und der IE - also alle.
Wie die Browserhersteller auf so eine dämliche Idee kommen, verstehe ich allerdings nicht.
Ich finde diese Idee überhaupt nicht dämlich. Sich mit Space (seitenweise) und Enter (zeilenweise) vorwärts durch ein Dokument zu bewegen gibt es schon ewig in den Dateibetrachtungshilfen der Kommandozeile unter DOS wie Unix, beispielsweise: more.
Die Frage ist allerdings, warum der OP diese Funktionalität verhindern möchte und was für einen Nutzen er sich davon verspricht.
dedlfix.
Danke Euch allen,
window.onkeydown=function(e){
if(e.keyCode==32){
return false;
}
};
Das tut's! Danke dir Tom!
Die Frage ist allerdings, warum der OP diese Funktionalität verhindern möchte und was für einen Nutzen er sich davon verspricht.
Ich zitiere mich selber:
"[*] Hintergrund: Intranet-Grafikanwendung, die auf <Leertaste> mit einem Drag-Verhalten reagieren soll. Ein Springen der Page nach unten ist zu vermeiden."
Man drückt auf Space, zieht die Maus und verschiebt damit den Zeichencanvas. Firefox (und wohl alle anderen Browser) springen per default bei Druck auf <SPACE> nach unten, also weg von der Zeichenfläche. Ist der Content unterhalb der Zeichenfläche "lang", sieht man diese nicht mehr.
schönen Sonntag
Problembär
Hi,
Die Frage ist allerdings, warum der OP diese Funktionalität verhindern möchte und was für einen Nutzen er sich davon verspricht.
Ich zitiere mich selber:
"[*] Hintergrund: Intranet-Grafikanwendung, die auf <Leertaste> mit einem Drag-Verhalten reagieren soll. Ein Springen der Page nach unten ist zu vermeiden."Man drückt auf Space, zieht die Maus und verschiebt damit den Zeichencanvas. Firefox (und wohl alle anderen Browser) springen per default bei Druck auf <SPACE> nach unten, also weg von der Zeichenfläche. Ist der Content unterhalb der Zeichenfläche "lang", sieht man diese nicht mehr.
Und warum wird das nicht wie sonst üblich durch Mausschieben bei gedrückter Maustaste gemacht?
cu,
Andreas
Hi,
Und warum wird das nicht wie sonst üblich durch Mausschieben bei gedrückter Maustaste gemacht?
Was heisst "wie sonst üblich"?
Mausschieben bei gedrückter Maustaste auf einem Zeichencanvas? Das ist das Zeichnen auf dem Canvas... es werden also Pixel gefärbt. Oder wie sollte man sonst auf einen Canvas zeichnen?
Die Funktion "Spacetaste gedrückt + Mausschieben" gibt es z.b. in der Software Adobe Photoshop.
Was heisst "wie sonst üblich"? […]
Die Funktion "Spacetaste gedrückt + Mausschieben" gibt es z.b. in der Software Adobe Photoshop.
In erster Linie hat Photoshop verschiedene Werkzeuge, die sich durch Klicken auf der Werkzeugleiste oder per Taste permanent auswählen lassen. Zeichnen und Verschieben sind zwei davon. Durch die verschiedenen Modifier-Tasten sowie Space kann man temporär ein anderes Werkzeug wählen. Das ist ein Shortcut, um die Produktivität zu verbessern, und ist eher erfahrenen Nutzern bekannt. Das Grundkonzept ist, dass man ein Werkzeug auswählt und dann zeichnet oder verschiebt.
Mathias
Hello,
Danke Euch allen,
window.onkeydown=function(e){
if(e.keyCode==32){
return false;
}
};
>
> Das tut's! Danke dir Tom!
Und was passiert jetzt innerhalb von Eingabe-Elementen?
Du müsstest das "return false" meiner Meinung nach noch daran binden, dass der Cursor nicht in einem Eingabeelement steht.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Hallo,
window.onkeydown=function(e){
if(e.keyCode==32){
return false;
}
};
> >
> > Das tut's! Danke dir Tom!
>
> Und was passiert jetzt innerhalb von Eingabe-Elementen?
> Du müsstest das "return false" meiner Meinung nach noch daran binden, dass der Cursor nicht in einem Eingabeelement steht.
>
Es gibt (noch) keine Eingabefelder. Alle Parameter werden über Select- und Checkboxen eingestellt. Aber ich prüfe auch noch, ob sich die Maus über dem Zeichencanvas befindet.
Hallo,
Man drückt auf Space, zieht die Maus und verschiebt damit den Zeichencanvas.
Wieso denn so umständlich? Drag and Drop mit Maus/Touchpad bzw. Drag auf reinen Touch-Geräten existiert doch.
Mathias
Hi,
Man drückt auf Space, zieht die Maus und verschiebt damit den Zeichencanvas.
Wieso denn so umständlich? Drag and Drop mit Maus/Touchpad bzw. Drag auf reinen Touch-Geräten existiert doch.
Drag ist ja Mausdrücken und Mausziehen. Aber auf meinem Zeichencanvas wird auf diese Art gezeichnet... bei Photoshop zum Beispiel zieht man die Zeichenfläche auch auf diese Art.
Hallo,
Firefox uses the spacebar as a second (and unnecessary) pagedown key.
Opera tut das übrigens auch. Wer noch?
Crome und der IE - also alle.
na gut, also eine Art de-facto-Standard.
Wie die Browserhersteller auf so eine dämliche Idee kommen, verstehe ich allerdings nicht.
Ich finde diese Idee überhaupt nicht dämlich. Sich mit Space (seitenweise) und Enter (zeilenweise) vorwärts durch ein Dokument zu bewegen gibt es schon ewig in den Dateibetrachtungshilfen der Kommandozeile unter DOS wie Unix, beispielsweise: more.
Stimmt, ich erinnere mich. Aber auch da finde ich die Wahl alles andere als intuitiv. Zumindest würde ich nicht von selbst auf die Idee kommen, die Space-Taste zum "Blättern" zu verwenden - eher schon die Enter-Taste.
Ciao,
Martin
PS: Ebenso unintuitiv finde ich die Funktion vieler GUIs, mit der Space-Taste das aktuell focussierte Dialogelement (Button, Radiobutton, Checkbox) auszulösen.
Hello,
Stimmt, ich erinnere mich. Aber auch da finde ich die Wahl alles andere als intuitiv. Zumindest würde ich nicht von selbst auf die Idee kommen, die Space-Taste zum "Blättern" zu verwenden - eher schon die Enter-Taste.
Das stammt noch aus einer Zeit, als es noch keinen separaten Ziffernblock und keine Cursersteuertasten gab. Ich möchte mal etwas überspitzt witzeln, dass es wahrscheinlich schon beim Fernschreiber bedeutet hat, den Lochstreifen einen Meter vorzuspulen :-O
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg