Keine Tastendruck-Ereignisse für bestimmte Tasten in Android-browser

Code unten funktioniert perfekt in Chrome, Firefox, IPhone, und auch in Drittanbieter-Browser auf Android. Allerdings, wenn es laufen in der nativen browser-Taste-events für Sonderzeichen wie Å, Ä und Ö auf meiner schwedischen Tastatur werden einfach nicht ausgelöst.

Das Beispiel sollte nur dem Benutzer erlauben, geben Sie ein einzelnes Zeichen in einer Zeit. Funktioniert wie ein Charme, es sei denn, ich in der android-Tasten drücken wie Å, Ä oder Ö, für die ich eingeben kann eine beliebige Anzahl von Zeichen.

Hier ein jsFiddle für alle, die wollen, um es auszuprobieren: http://jsfiddle.net/x7H6f/. Wenn u don ' T haben spezielle Tasten wie mein Schwedisch diejenigen gedruckt auf der Tastatur Zeichen wie é (gedrückt halten E) sollte den "trick".

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Key Event test</title>
    </head>
    <body>
        <input type="text" id="a" name="test" />
        <script>
            document.getElementById("a").onkeypress = function(e) {
                e = e || window.event;
                var k = e.keyCode || e.which;
                this.value = String.fromCharCode(k);
                return false;
        }
        </script>
    </body>
</html>

Und Nein, keydown-und keyup-nicht funktioniert. Hab ich was verpasst, oder ist das ein bug? Es ist schrecklich ärgerlich, wenn die Entwicklung der schwedischen Apps in PhoneGap!

Dank!


EDIT:
Wie Manor, sagt in seiner Antwort, die input Ereignis verwendet werden kann. Hier ist ein Turnschuh, das veranschaulicht die Unterschiede zwischen den keypress, input, und change Veranstaltungen: http://jsfiddle.net/Qxd76/ (verwenden Sie http://jsfiddle.net/Qxd76/show um das Ergebnis anzuzeigen, auf einem smartphone).

Im erleben das gleiche, das ist wohl ein bug in android?
Ich bin anständig, sicher, es ist ein bug in der nativen browser für android, was die webviews verwenden. Ich habe nicht bestätigt, aber ich vermute, es sollte gelöst werden, nach der version 4, wie haben Sie sich verändert die browser chrome danach?
input Ereignis nicht zurück keyCode oder which oder charCode..

InformationsquelleAutor Zut | 2012-02-15

Schreibe einen Kommentar