So versuche ich es
<script type="text/javascript">
$(document).ready(function(){
$('#dateIn,#dateOut').click(function(e){
e.preventDefault();
});
});
</script>
Aber die Eingabe "startet" immer noch die Tastatur des iPhones
ps: ich möchte dies tun, weil ich das datepicker plugin für date benutze
javascript
jquery
iphone
keyboard
Toni Michel Caubet
quelle
quelle
readonly
da bestimmte Widgets das Ereignis nicht anreadonly
Eingaben binden .Sie können Ihrem DatePicker eine Rückruffunktion hinzufügen, um ihn anzuweisen, das Eingabefeld zu verwischen, bevor der DatePicker angezeigt wird.
Hinweis: Die iOS-Tastatur wird für den Bruchteil einer Sekunde angezeigt und dann ausgeblendet.
quelle
Da ich den obersten Kommentar nicht kommentieren kann, bin ich gezwungen, eine "Antwort" einzureichen.
Das Problem mit der ausgewählten Antwort besteht darin, dass durch Festlegen des Felds auf schreibgeschützt das Feld aus der Registerkartenreihenfolge auf dem iPhone entfernt wird. Wenn Sie also gerne Formulare eingeben, indem Sie auf "Weiter" klicken, überspringen Sie das Feld.
quelle
Ich habe hier eine ähnliche Frage gestellt und eine fantastische Antwort erhalten - benutze den nativen iPhone-Datepicker - es ist großartig.
So deaktivieren Sie die iPhone-Tastatur für ein bestimmtes Eingabefeld auf der Webseite
Synopsis / Pseudocode:
Der Grund für die dynamische Einstellung des Feldtyps auf "Datum" besteht darin, dass Opera andernfalls einen eigenen nativen Datumspicker anzeigt. Ich gehe davon aus, dass Sie den Datumspicker in Desktop-Browsern konsistent anzeigen möchten.
quelle
Der folgende Code funktioniert für mich:
quelle
Der beste Weg, dies nach meiner Meinung zu lösen, ist die Verwendung von "ignoreReadonly".
Machen Sie das Eingabefeld zuerst schreibgeschützt und fügen Sie dann ignoreReadonly: true hinzu. Dadurch wird sichergestellt, dass das Popup angezeigt wird, auch wenn das Textfeld schreibgeschützt ist.
quelle
Hier ist meine Lösung (ähnlich der Antwort von John Vance):
Gehen Sie zuerst hierher und rufen Sie eine Funktion zum Erkennen mobiler Browser auf.
http://detectmobilebrowsers.com/
Sie haben viele verschiedene Möglichkeiten, um zu erkennen, ob Sie mobil sind. Suchen Sie also eine, die mit Ihrer Verwendung funktioniert.
Ihre HTML-Seite (Pseudocode):
JQuery:
Auf diese Weise können Sie weiterhin native Datumsauswahlfunktionen in Mobilgeräten verwenden, während Sie die minimalen und maximalen Datumsangaben in beide Richtungen festlegen.
Das Feld für Nicht-Mobilgeräte sollte nur gelesen werden, da ein mobiler Browser wie Chrome für iOS "eine Desktop-Version anfordert", die mobile Überprüfung umgehen kann und Sie dennoch verhindern möchten, dass die Tastatur angezeigt wird.
Wenn das Feld jedoch schreibgeschützt ist, kann es für einen Benutzer so aussehen, als könne er das Feld nicht ändern. Sie können dies beheben, indem Sie das CSS so ändern, dass es nicht schreibgeschützt ist (dh die Rahmenfarbe in Schwarz ändern). Wenn Sie jedoch das CSS nicht für alle Eingabe-Tags ändern, fällt es Ihnen schwer, das Erscheinungsbild konsistent zu halten Browser.
Um dies zu umgehen, füge ich der Datumsauswahl einfach eine Kalenderbildschaltfläche hinzu. Ändern Sie einfach Ihren JQuery-Code ein wenig:
Hinweis: Sie müssen ein geeignetes Bild finden.
quelle
@ Ren-Pot ist richtig. Sie haben jedoch ein nicht erlaubtes Zeichen auf der Desktop-Version der Website. Um dies zu umgehen, wenden Sie readonly = "true" auf ein div an, das nur in der mobilen Ansicht und nicht auf dem Desktop angezeigt wird. Sehen Sie hier, was wir gemacht haben http://www.naivashahotels.com/naivasha-hotels/lake-naivasha-country-club/
quelle
Ich habe ein kleines generisches "No Keyboard" -Skript - funktioniert für mich mit Android und iPhone:
readonlyJim
Fügen Sie dem Eingabe-Tag und voila einfach add class hinzu.(* Sorry zu viel StarTrek hier)
quelle