Windows Phone 8.IE10不支持自动大写



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

在Windows Phone 8 IE10上这不起作用。有人知道在Windows Phone的IE10中实现自动资本化的等效方法吗?

如果它不支持,那么你必须通过JavaScript自己做。假设key和/或change事件是由移动浏览器触发的,您可以简单地挂钩到这些事件并相应地转换输入值。

下面是一个转换前面可能有空格的第一个字母和后面跟着空格的句点后的第一个字母的示例:

$('[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示例

最新更新