在没有<input type =“number”/>的移动设备上启动numpad

时间:2014-03-23 11:46:06

标签: jquery html html5 mobile webkit

我正在创建一个网站,其中包含输入字段,允许您输入如下字符串:“1-2 * 3 + 4”。我还想提出移动设备的小键盘。

<input type="number">

由于webkit浏览器使上面的示例无效(因为它包含符号),所以不起作用。 除了上面的那个之外,还有其他方法可以提出小键盘吗?(type =“tel”不包含 - 符号)

编辑: 所以我找到了一个解决方法:

$('.myInput').focus(function(){
    $(this).get(0).type = 'text';
});
$('.myInput').blur(function(){
    $(this).get(0).type = 'number';
});

当输入聚焦时,我将类型更改为文本(至少在iPhone上,这个更改发生在小键盘已经启动之后)。当它失去焦点时,我将类型更改回数字,以便在输入再次获得焦点时它再次起作用。

我仍然对其他建议感兴趣。

1 个答案:

答案 0 :(得分:0)

我担心你会遇到带有额外键的小键盘或数字键盘(不幸的是,它包含减号而不是加号)。

只实现小键盘:

<input type="number" pattern="[0-9]*" />

要实现扩展数字键盘:

<input type="number" pattern="*" />

在Apple的Safari Developer Library中了解更多相关信息。