Javascript 使用html以大写字母打开android和ios键盘

Javascript 使用html以大写字母打开android和ios键盘,javascript,css,html,android-softkeyboard,iphone-softkeyboard,Javascript,Css,Html,Android Softkeyboard,Iphone Softkeyboard,我正在为移动设备创建一个网页。因为很少有输入字段要求用户始终以大写输入数据 我看了几个选项,比如 文本转换css的属性 它将用户输入更改为大写,但也会更改占位符。看起来不太好 autocapitalize输入属性 通过设置它,它允许键盘以大写字母打开。但这似乎对我不起作用。它与android中的textarea完美配合,但与input不配合 有没有更好的方法来实现这一点?您应该能够绑定到keydown或keypress事件(我会使用jQuery)并修改输入 不会影响软键盘;也许你可以将它与aut

我正在为移动设备创建一个网页。因为很少有输入字段要求用户始终以大写输入数据

我看了几个选项,比如

  • 文本转换
    css的属性
    它将用户输入更改为大写,但也会更改占位符。看起来不太好
  • autocapitalize
    输入属性
    通过设置它,它允许键盘以大写字母打开。但这似乎对我不起作用。它与android中的
    textarea
    完美配合,但与
    input
    不配合

  • 有没有更好的方法来实现这一点?

    您应该能够绑定到keydown或keypress事件(我会使用jQuery)并修改输入


    不会影响软键盘;也许你可以将它与
    autocapitalize
    一起使用?

    尝试将
    autocapitalize=“characters”
    添加到
    input
    ,它在Android上对我有效,并且应该可以在其他类型的设备上使用,正如MDN web文档所说:

    autocapitalize
    属性不会影响打开时的行为 物理键盘。相反,它会影响其他输入的行为 机制,如移动设备上的虚拟键盘和语音 输入


    因此,为了给未来的用户添加更多信息,这里有一个示例,其中所有显示的文本都将以大写字母显示,虚拟键盘也将以大写字母显示

    请注意,像swift这样的定制键盘显然不起作用,但内置键盘起作用

    更改是通过inputProps完成的

        <TextField
      name={props.name}
      value={props.val}
      inputProps={{autocapitalize:"characters", textTransform:"uppercase"}}
      onChange={props.doStuff}
    
    />
    

    指向文档的链接将为您的答案增添趣味。