更新input的值而不会丢失光标位置

可能重复:
停止光标跳转到javascriptreplaceinput字段的结尾

我想要强制文本框的值是小写,使用JavaScript。 我已经尝试了下面的代码,但是每次按下某个键时,光标就会跳转到input的末尾。 我怎样才能避免这一点?

$("#beLowerCase").keyup(function(){ $(this).val( $(this).val().toLowerCase() ); }); 
 $("#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; } 

而服务器可以照顾实际的下壳…