我正在制作一个网站,它的输入字段应该允许您输入这样的字符串:“1-2*3+4”。我还想提出移动设备的numpad。

<input type="number">

无法工作,因为webkit浏览器使上面的示例无效(因为它包含符号)。除了上面提到的那一个之外,有没有其他的方法来培养numpad呢?(type=“tel”不包含-sign)
编辑:
所以我找到了一个解决办法:
$('.myInput').focus(function(){
    $(this).get(0).type = 'text';
});
$('.myInput').blur(function(){
    $(this).get(0).type = 'number';
});

当输入集中时,我将类型更改为文本(至少在iPhone上,这种更改发生在numpad已经启动之后)。当它失去焦点时,我将类型改回数字,这样当输入再次获得焦点时,它就会再次工作。
不过,我还是对其他建议感兴趣。

最佳答案

恐怕你用的不是numpad,就是带有额外键的数字键盘(不幸的是,它包含了负号而不是正号)。
为了达到numpad:

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

要实现扩展数字键盘:
<input type="number" pattern="*" />

在Apple的Safari Developer Library中阅读更多关于这个的信息。

关于jquery - 在没有<input type =“number”>的移动设备上启动数字键盘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22590440/

10-09 21:07