Erkennen, ob auf der Bildschirmtastatur des Mobilgeräts Tasten verfügbar sind

8

Ich erweitere unsere Website um einige Verbesserungen der mobilen Usability. Als Teil dessen optimiere ich das type-Attribut von textfields, um dem Benutzer die besten Eingabe-Tools für den erwarteten Datentyp zu geben.

Ein Problem, mit dem ich in mobilen Touchscreens konfrontiert wurde, ist, dass Browser auf verschiedenen Betriebssystemen und sogar verschiedene Browser desselben Betriebssystems verschiedene Bildschirmtastaturen anzeigen, wenn der Eingabetyp="number" verwendet wird.

Safari auf iOS 4.3.3 (iPhone 4) und Chrome auf Android 2.3.4 enthalten einen Dezimalpunkt, Firefox auf Android 2.3.4 jedoch nicht.

Ich habe versucht, das Schrittattribut (step="0.1") ohne Verbesserung in Firefox hinzuzufügen.

Wenn ich den Dezimalpunkt nicht anzeigen kann, muss ich Firefox die volle QWERTY-Tastatur zeigen, was offensichtlich nicht für die beste Benutzererfahrung sorgt. Es wirft auch das Problem des Browser / Geräte-Sniffing auf. Entweder muss ich QWERTY zum Standard machen und das Nummernfeld den wenigen Geräten zeigen, auf denen ich tatsächlich testen kann, oder das Nummernfeld als Standard festlegen und auf Geräten auf QWERTY zurückschalten, von denen ich weiß, dass dies aufbrechen wird, die letztere Option viel weniger robust, da ich nicht auf jedem Gerät testen kann.

Das Testen der Unterstützung für input type="number" ist keine Lösung, da der Browser das Element offensichtlich unterstützt, es bietet einfach nicht genug Tastaturoptionen, um alle Zahlentypen einzugeben.

Also ... Ich habe mich gefragt, ob irgendjemand einen Weg kannte, um auf das Vorhandensein eines bestimmten Schlüssels (wie des Dezimalpunkts) in der Tastatur zu prüfen, die der Browser / OS dem Eingabetyp zuweist, und / oder falls jemand anders hat einige bessere Vorschläge, da ich mit Mobilgeräten ziemlich neu bin.

Ich sollte auch erwähnen, dass ich hier JavaScript verwende, da dies eine Website ist, keine native App.

Danke:)

    
Dan 17.11.2011, 00:51
quelle

1 Antwort

1

Leider unterstützt Firefox den numerischen Eingabetyp nicht. Sie können jedoch weiterhin versuchen, diese zusätzlichen HTML-Attribute zu verwenden, um ein Eingabefeld zur Eingabe des numerischen Werts für den Benutzer zu veranlassen.

%Vor%     
Caroline Hermans 17.05.2016 02:29
quelle