wie behandelt Firefox event.which bzw event.charCode bzw Unicode
klaus
- javascript
0 Der Martin
0 klaus0 Der Martin
0 klaus
0 Gunnar Bittersmann
nach 3 Wochen Suche und Pröbeln und vielen Irrwegen funktioniert meine Event-Auswertung für keyDown wieder.
Dabei habe ich es sporadisch geschafft (aber auf jeden Fall ungewollt) in ein Inputfeld z.B. den Unicode für <Alt><1(num.Block)> den DOS-Code 01Hex (leerer Smiley) einzutragen.
Fazit: das Verhalten von Firefox (3.5) wann wird Tastaturcode, wann der Unicode, wie werden die Return-Werte automatisch gesetzt usw. ist zu kompliziert um es durch ausprpbieren zu erraten.
meine Frage: Wo finde ich eine Dokumentation des Eventhandler von Firefox für die Tastaturereignisse ?
geleiche Frage steht im Themenbereich Browser - bitte hier antworten
Hallo,
Dabei habe ich es sporadisch geschafft (aber auf jeden Fall ungewollt) in ein Inputfeld z.B. den Unicode für <Alt><1(num.Block)> den DOS-Code 01Hex (leerer Smiley) einzutragen.
bei der Eingabe von Zeichencodes über den numerischen Tastenblock wird der Code
* ignoriert, wenn Num-Lock, so wie bei mir gewöhnlich, nicht aktiv ist,
* normalerweise als CP437 (IBM-PC) interpretiert (Alt 2-4-6 ergibt ÷),
* als Unicode interpretiert, wenn man eine 0 voranstellt (Alt 0-2-4-6 ergibt ö).
Diese Interpretation ist von der Anwendung unabhängig.
Fazit: das Verhalten von Firefox (3.5) wann wird Tastaturcode, wann der Unicode, wie werden die Return-Werte automatisch gesetzt usw. ist zu kompliziert um es durch ausprpbieren zu erraten.
Vom Prinzip her eigentlich nicht. In event.keyCode steht immer der Scancode der Tastatur, sonst könnte man keine Sondertasten (z.B. Cursortasten) abfragen.
geleiche Frage steht im Themenbereich Browser
Warum dieses Doppelposting sofort gelöscht wurde, ist dir ja wohl klar.
So long,
Martin
Hallo,
Entschuldigung für fehlende Anrede und Gruß
Warum dieses Doppelposting sofort gelöscht wurde, ist dir ja wohl klar.
ja; aber warum kann ich hier nicht die Vorteile der Rechentechnik bei redundanzfreien Daten nutzen ??? ist das den Verantwortlichen zu aufwendig?
Da es mich schon öfter generft hat, würde ich gerne meine Hilfe anbieten.
nochmal meine Frage: Wo finde ich eine Dokumentation des Eventhandler von Firefox für die Tastaturereignisse ?
prinzipiell ist mir alles klar - ich denke nur leider in der Praxis manchmal etwas anders als die Firefoxentwickler. So habe ich Code geschrieben der nicht so interpretiert wird wie ich es erwarte: also falsch gedacht!
Nun möchte ich nicht dauernd probieren, ob meine Denkweise richtig ist sonder einmal nachlesen wie die Entwickler von Firefox ihre Eventfunktion verkettet haben, wann sie false oder true zurückgeben usw. Deshalb Dokumentation gesucht.
vielen Dank
Klaus
Hi,
Warum dieses Doppelposting sofort gelöscht wurde, ist dir ja wohl klar.
ja; aber warum kann ich hier nicht die Vorteile der Rechentechnik bei redundanzfreien Daten nutzen ???
Vorteile der Rechentechnik? Redundanzfreie Daten? Wovon redest du?
Es ist ganz einfach lästig, dieselbe Frage mehrmals im Forum zu haben. Das birgt das Risiko, dass auch die Antworten auf mehrere Schauplätze gestreut werden und erschwert den Überblick.
ist das den Verantwortlichen zu aufwendig?
Da es mich schon öfter generft hat, würde ich gerne meine Hilfe anbieten.
Hilfe wobei?
nochmal meine Frage: Wo finde ich eine Dokumentation des Eventhandler von Firefox für die Tastaturereignisse ?
Wenn die Doku von mozilla.org nicht mehr weiterhilft, schlimmstenfalls im Sourcecode ...
prinzipiell ist mir alles klar - ich denke nur leider in der Praxis manchmal etwas anders als die Firefoxentwickler. So habe ich Code geschrieben der nicht so interpretiert wird wie ich es erwarte: also falsch gedacht!
Das kommt vor.
Nun möchte ich nicht dauernd probieren, ob meine Denkweise richtig ist sonder einmal nachlesen wie die Entwickler von Firefox ihre Eventfunktion verkettet haben, wann sie false oder true zurückgeben usw. Deshalb Dokumentation gesucht.
Ja, das kann ich nachvollziehen. - Und wenn du deine bisherigen Versuche mal hier zeigst und vom gesammelten Praxiswissen der Forumsnutzer profitierst?
So long,
Martin
Hi,
nochmal meine Frage: Wo finde ich eine Dokumentation des Eventhandler von Firefox für die Tastaturereignisse ?
Wenn die Doku von mozilla.org nicht mehr weiterhilft, schlimmstenfalls im Sourcecode ...
nicht wirklich.
prinzipiell ist mir alles klar - ich denke nur leider in der Praxis manchmal etwas anders als die Firefoxentwickler.
Nun möchte ich nicht dauernd probieren, ob meine Denkweise richtig ist »»
Ja, das kann ich nachvollziehen. - Und wenn du deine bisherigen Versuche mal hier zeigst und vom gesammelten Praxiswissen der Forumsnutzer profitierst?
Ja gerne -- aber >> das wird ein über längeren Zeitraum laufender Gedankenaustausch, weil ich nicht durchgehend dafür zeit habe und meine potetiellen Gesprächspartner sicherlich auch nicht. geht das hier?
1. Beispiel:
<script type="text/javascript">
document.addEventListener("keydown",kd,false);
document.addEventListener("keyup",ku,false);
function kd(ev) {
if (!(ev.which==18)) {
alert('keydown-(ev)'
+'\nev.altKey == '+ev.altKey
+'\nev.which == '+ev.which
+'\nev.charCode == '+ev.charCode
+'\nparent._altKey == '+ parent._altKey
+'\nev.cancelBubble == '+ev.cancelBubble
);
}}
function ku(ev) {
if (!(ev.which==18)) {
alert('keyup-(ev)'
+'\nev.altKey == '+ev.altKey
+'\nev.which == '+ev.which
+'\nev.charCode == '+ev.charCode
+'\nparent._altKey == '+ parent._altKey
+'\nev.cancelBubble == '+ev.cancelBubble
);
}}
</script>
<body>
<input id="SW1" ..
::
Problem: "sw1" hat Focus alert aus ku() wird nicht immer aufgerufen obwohl ja die taste immer losgelassen wird.
Zahlen und ziffern ja bei z.B. <Alt><3> nicht warum?
Wozu das ganze?: Wenn ich in ku() eine Funktion aktiviere, möchte ich schon wissen, wann das nicht funktioniert und an welcher Stelle ich das dann tun muß und welche Entscheidungskriterien mir dafür zur verfügung stehen.
@@Der Martin:
nuqneH
* als Unicode interpretiert, wenn man eine 0 voranstellt (Alt 0-2-4-6 ergibt ö).
Nein, nicht Unicode, sondern Windows-1252*.
[Alt]+[0][1][3][2] ergibt '„'. 132 = x84 ist aber nicht der Unicode-Zeichencode von '„'; U+0084 ist ein Steuerzeichen.
Und man kann auf diese Weise auch nur die Zeichen bis U+00FF eingeben, dann wird modulo 256 gerechnet …
[Alt]+[0][5][0][2] ergibt ebenso wie [Alt]+[0][7][5][8] 'ö' (502 = 246 + 256, 758 = 246 + 512)
… solange eine 0 vorne steht: [Alt]+[1][2][7][0] ergibt '÷', was nicht U+04F6 ist. (x4F6 = 1270 = 246 + 1024)
Qapla'
* bei anderen Locale-Einstellungen evtl. auch ein anderer Windows-Zeichensatz?
Hallo Gunnar,
* als Unicode interpretiert, wenn man eine 0 voranstellt (Alt 0-2-4-6 ergibt ö).
Nein, nicht Unicode, sondern Windows-1252*.
[Alt]+[0][1][3][2] ergibt '„'. 132 = x84 ist aber nicht der Unicode-Zeichencode von '„'; U+0084 ist ein Steuerzeichen.
sieht aus, als hättest du recht.
Und man kann auf diese Weise auch nur die Zeichen bis U+00FF eingeben, dann wird modulo 256 gerechnet …
Stimmt auch auffallend. Das wusste ich zwar im Prinzip schon, habe aber im Moment nicht daran gedacht.
… solange eine 0 vorne steht: [Alt]+[1][2][7][0] ergibt '÷', was nicht U+04F6 ist. (x4F6 = 1270 = 246 + 1024)
Nein, aber da gilt wohl auch bei CP437 die modulo-256-Regel. Dann stimmt's wieder, da ist 0xF6 = '÷'.
* bei anderen Locale-Einstellungen evtl. auch ein anderer Windows-Zeichensatz?
Das ist zu vermuten.
So long,
Martin
@@Der Martin:
nuqneH
… solange eine 0 vorne steht: [Alt]+[1][2][7][0] ergibt '÷', was nicht U+04F6 ist. (x4F6 = 1270 = 246 + 1024)
Nein, aber da gilt wohl auch bei CP437 die modulo-256-Regel. Dann stimmt's wieder, da ist 0xF6 = '÷'.
Jetzt hab ich auch gerafft: Die Anzahl der Ziffern spielt gar keine Rolle, die 0 am Anfang switcht um:
[Alt]+[6][1] ergibt ebenso wie [Alt]+[0][6][1] 'A'.
[Alt]+[0][1][2][7][0] ergibt – Überraschung! – auch wieder 'ö'.
Qapla'