繁体   English   中英

为什么 autocapitalize 属性不适用于非虚拟键盘?

[英]Why doesn't the autocapitalize attribute work with non-virtual keyboards?

我刚刚发现我们可以使用这个属性来指定应该输入字母的大小写,但这对我不起作用。

例子:

 <input type="text" autocapitalize="words" name="subject" value="Website Feedback" />

我将这个 attr 设置为单词,但仍然使用情人大小写输入每个新单词,那么它应该如何工作?

正如评论中的许多人指出的那样,该属性不会影响物理键盘。 您可以使用 javascript 实现此目的,方法是侦听 keyup 事件并在每次更改时将文本大写。 这是一个工作示例:

 $(".autocapitalize").keyup(function () { const originalValue = $(this).val(); const capitalizedValue = originalValue.replace(/(^\w{1})|(\s+\w{1})/g, letter => letter.toUpperCase()); $(this).val(capitalizedValue).focus() });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="text" class="autocapitalize" autocapitalize="words" name="subject" value="" />

似乎有些浏览器没有更多地考虑这个属性,“autocapitalize 属性不影响在物理键盘上打字时的行为”。

https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize

也许您应该改用 function。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM