我想使用JavaScript强制一个文本框的值为小写。我尝试了下面的代码,但是每次按键时光标都会跳到输入的末尾。如何避免这种情况?
$("#beLowerCase").keyup(function(){
$(this).val( $(this).val().toLowerCase() );
});
我想使用JavaScript强制一个文本框的值为小写。我尝试了下面的代码,但是每次按键时光标都会跳到输入的末尾。如何避免这种情况?
$("#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);
});
(fiddle)
CSS 也可以实现这个效果:
#beLowerCase{
text-transform:lowercase;
}
服务器可以处理实际的小写转换...
selectionStart
。这意味着您需要执行 $("#someId").get(0).selectionStart
。 - Micer