0

对于 iOS 和 Android,他们的 webkit 浏览器支持输入元素上的 autocapitalize 属性来控制句子的第一个单词是否大写。

在 Windows Phone 8 IE10 上这不起作用。有谁知道在 Windows Phone 上的 IE10 中实现自动大写的等效方法?

4

1 回答 1

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);
});

jsfiddle 示例

于 2013-06-22T12:06:11.880 回答