在iPhone上使用Mobile Safari时,使用prompt()Javascript功能是否可以更改键盘类型?

Gab*_*mbe 5 javascript iphone safari mobile-safari

iPhone上的Mobile Safari允许您为文本输入框指定不同的键盘类型,如适用于iPhoneSafari操作方法中所示.但是,我想知道在显示Javascript提示符()对话框时是否可以更改显示的键盘类型.

我知道如果必须的话我可以滚动自己的模态弹出窗口,但我想知道是否可以使用内置的prompt()函数和不同的键盘(在我的例子中是数字).

有任何想法吗?

ddo*_*hty 4

不幸的是,我很确定答案是“不”。考虑以下实验:

<html>
<head>
 <script type="text/javascript">
   function doit() {
     prompt("this is a test");
   }
 </script>
</head>
<body>
 <a href="javascript:doit();">Click me</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果您将其放入 HTML 页面并将其加载到 Mobile Safari 中,然后将手机切换为横向视图,然后单击链接,您希望发生什么?您期望发生的情况是使用宽键盘横向显示提示对话框。实际发生的情况是,Mobile Safari 会旋转回纵向视图并弹出小键盘,然后在您输入文本后又旋转回来。(为了好玩,警告结果,警告也会旋转显示......)请注意,HTML 5 自定义(type =“tel”或pattern =“[0-9] *”)会在适当的时候正确弹出横向键盘。

请注意,这并不是您无法自定义键盘外观的先验证据,但它是一个非常有力的指标,表明 JavaScript 提示行为是固定的,并且没有很好地集成到用户体验的其余部分中。