簡體   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