To jest known bug w domyślnej przeglądarce Android Webkit. Jak na this QuirksMode page widać, że wiele wersji Androida cierpi z tego powodu. Z drugiej strony Chrome na Androida nie.
Dla tego stworzyłem prostą korektę JavaScript. Najpierw przeczytaj to pytanie How to display placeholder's text in HTML5's number-typed input, jeśli nadal chcesz użyć takiego zastępczego obiektu, złóż zamówienie my solution gist.
TL; DR;
Pozostaw swoją adnotację, jak można się spodziewać;
<input type="number" placeholder="Enter some numbers" />
Następnie uruchom jeden z tych skryptów po załadowaniu strony;
// jQuery version
$("input[type='number']").each(function(i, el) {
el.type = "text";
el.onfocus = function(){this.type="number";};
el.onblur = function(){this.type="text";};
});
// Stand-alone version
(function(){ var elms = document.querySelectorAll("input"), i=elms.length;
while(i--) {
var el=elms[i]; if(el.type=="number"])
el.type="text",
el.onfocus = function(){this.type="number";},
el.onblur = function(){this.type="text";};
}
})();
Dzięki aaronsnoswell :) – Shinoj
Pod Jellybean rozwiązanie to działa tylko przez pewien czas, co prowadzi do braku klawiatur w odpowiedzi na dotknięcie użytkownika. Uruchomienie tego kodu w trybie przechwytywania zdawało się łagodzić wiele z tych problemów. –
@KevinDecker Dzięki za testowanie - czy możesz wyjaśnić, co masz na myśli, mówiąc o trybie przechwytywania? – aaronsnoswell