88

我想强制使用 JavaScript 文本框的值是小写的。我试过下面的代码,但是每次按下一个键时光标都会跳到输入的末尾。我怎样才能避免这种情况?

$("#beLowerCase").keyup(function(){
    $(this).val( $(this).val().toLowerCase() );
});
4

1 回答 1

137
$("#beLowerCase").on('input', function(){

    // store current positions in variables
    var start = this.selectionStart,
        end = this.selectionEnd;

    this.value = this.value.toLowerCase();

    // restore from variables...
    this.setSelectionRange(start, end);
});

小提琴


这实际上也适用于 CSS:

#beLowerCase{
  text-transform:lowercase;
}

服务器可以处理实际的小写...

于 2013-01-24T19:06:34.287 回答