對於iOS & Android,它們的webkit瀏覽器支持輸入元素上的autocapitalize屬性,以控制句子的第一個單詞是否大寫。Windows Phone 8.在IE10中不支持autocapitalize
在Windows Phone 8 IE10上這不起作用。有誰知道在Windows Phone上實現IE10自動大寫的等效方式嗎?
對於iOS & Android,它們的webkit瀏覽器支持輸入元素上的autocapitalize屬性,以控制句子的第一個單詞是否大寫。Windows Phone 8.在IE10中不支持autocapitalize
在Windows Phone 8 IE10上這不起作用。有誰知道在Windows Phone上實現IE10自動大寫的等效方式嗎?
如果不支持,那麼你必須通過JavaScript自己完成。假設移動瀏覽器正在觸發關鍵和/或更改事件,您可以簡單地掛鉤這些事件並相應地轉換輸入值。
下面是轉換的第一個字母可以用空格開頭,並且一段時間後的第一個字母后跟空格的例子:
$('[autocapitalize="on"]').on('change keyup', function(event)
{
var selectionStart = event.target.selectionStart;
var selectionEnd = event.target.selectionEnd;
var element = $(this);
element.val(element.val().replace(/^\s*(.)|\.\s+(.)/g, function(letter)
{
return letter.toUpperCase();
}));
event.target.setSelectionRange(selectionStart, selectionEnd);
});
非常感謝那個優雅的解決方案。儘管這種方法存在一些問題。 1)用戶無法在一段時間後強制使用小寫字符(iOS上的自動註冊功能)。 2)這只是一個小小的軟鍵盤,並不表示下一個鍵入的字母會被大寫(通過突出顯示shift鍵)。我仍然可以使用這種方法,因爲它仍然是對用戶的改進,甚至允許列出2個問題。再一次,非常感謝。 –
什麼輸入類型是您使用? – Deeko
我正在使用type =「text」。 –
我相信'autocapitalize'是蘋果專用標籤。你可以試試CSS的'text-transform:capitalize'。移動IE支持。 –