【问题标题】:Bring up numpad on mobile devices without <input type="number">在没有 <input type="number"> 的移动设备上调出小键盘
【发布时间】:2014-04-30 16:34:12
【问题描述】:

我正在制作一个具有输入字段的网站,应该允许您输入如下字符串:“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 上,这种更改发生在小键盘已经启动之后)。当它失去焦点时,我将类型改回数字,以便在输入再次获得焦点时再次工作。

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

【问题讨论】:

    标签: jquery html mobile webkit


    【解决方案1】:

    恐怕您会被小键盘或带有额外键的数字键盘卡住(不幸的是,它包含减号但不包含加号)。

    只实现小键盘:

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

    实现扩展数字键盘:

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

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

    【讨论】:

    • 嗯,Safari 开发者库甚至没有提到 type="number"。但是 带来了一个简单的小键盘。我希望有一个 type="text" 的解决方案仍然可以提供扩展的小键盘。
    猜你喜欢
    • 2013-01-05
    • 1970-01-01
    • 2019-01-10
    • 2023-03-28
    • 1970-01-01
    • 2018-05-06
    • 2020-02-16
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多