だから私はinput[type="number"]
(できればpattern="[0-9]*"
iOSで正しいキーパッドを表示するための属性を持っています(iPhone、iPadでは機能しません))
プログラムで値を更新すると、iOS がそれを台無しにし、Android が完全に機能しなくなります。
ここに小さなテスト ケースがあります: http://jsfiddle.net/9QUPe/
基本的に、キーパッド (少なくとも iOS では) は小数点以下の桁数を表示しないので、ユーザーのためにそれを追加したいと思います。
$('input').on('keyup', function(){
var val = this.value.replace('.','');
if(val.length <= 2){
this.value = '.'+val
}else{
this.value = val.slice(0,-2) +'.'+ val.slice(-2);
}
});
Chrome (Win7) で完全に動作しますが、iOS は (データが文字列として保持されていても) ゼロを受け入れず、Android はpattern
(属性が存在するかどうかにかかわらず) 入力を完全に空にします ( http://jsfiddle.このテスト ケースでは、Android のnet/9QUPe/1 ))。
これを機能させる方法についてのアイデアはありますか?