适用于iOS& Android,他们的webkit浏览器支持输入元素的autocapitalize属性,以控制句子的第一个单词是否大写。
在Windows Phone 8 IE10上,这不起作用。有没有人知道在Windows Phone上IE10中实现自动大写的等效方式?
答案 0 :(得分:1)
如果不支持,则必须通过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);
});