| 

.NET C# Java Javascript Exception

2
Prinzipiell ist es schön, wenn sich eine Webapp nicht nur per Maus, sondern auch per Tastatur bedienen lässt - nur gibt's dabei natürlich je nach Browser massenhaft Konflikte mit Tastenkombinationen des Browsers an sich. Und: Je nach Browser andere Konflikte.

Wie löst man das elegant, ohne in jedem Browser andere Shortcuts haben zu müssen?

Gibt es irgendwo eine Tabelle, was in welchem Browser verwendet wird, oder gibt es andere Best Practices?
29.04.2011
Golo Roden 2,7k 3 9
2 Antworten
1
Du kannst hierfür das Javascript Framework Jquery nutzen und per Javascript Tasten binden.

$('document').bind('keypress', function(e) {
if(e.keyCode==13){
// Enter pressed, do something
}
});


Keycodes: http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx

Shortcuts kannst du mit
$(document).bind('keydown', 'ctrl+c', function(e){
// ctrl + c pressed do something
});


erzeugen. Beispiel hier CTRL + C
29.04.2011
Marco Rieger 820 8
Das ist mir schon klar ;-) - nur woher weiß ich, in welchem Browser auf welcher Plattform welche Taste verfügbar ist? Also woher weiß ich, ob Strg+K im Konqueror auf SuSE Linux 9.3 noch frei ist? Ich kann schlecht alle Kombinationen austesten ;-)

Wahrscheinlich läuft es sogar darauf hinaus, dass nur eine handvoll Tastenkombinationen frei bleiben: Wie geht man damit um? Man kann schließlich nicht eine App nur mit drei Shortcuts schreiben ;-)
Golo Roden 29.04.2011
Oh ok nun versteh ich worauf du hinnaus möchtest. Ganz schlicht gesagt wüsste ich da keine Lösung außer vorher dich selbst schlau zu machen welche Browser welche Shortcuts verwenden und dann eine Browserweiche mit Shortcuts zu machen.

if( firefox )
delete = CRTL + F
insert = CRTl + V

if( opera )
delete = CRTL + F
insert = CRTl + B <--- opera shortcut CRTL+V switch to B
Marco Rieger 29.04.2011
0
view comment
29.04.2011
Marco Rieger 820 8

Stelle deine Browser-Frage jetzt!