Javascript 在不丢失光标位置的情况下更新输入值
我想使用JavaScript强制要求文本框的值为小写。我尝试了下面的代码,但每次按下一个键时光标都会跳到输入的末尾。我怎样才能避免这种情况Javascript 在不丢失光标位置的情况下更新输入值,javascript,jquery,Javascript,Jquery,我想使用JavaScript强制要求文本框的值为小写。我尝试了下面的代码,但每次按下一个键时光标都会跳到输入的末尾。我怎样才能避免这种情况 $("#beLowerCase").keyup(function(){ $(this).val( $(this).val().toLowerCase() ); }); 这实际上也适用于CSS: #beLowerCase{ text-transform:lowercase; } 服务器可以处理实际的下外壳…保留选择范围,并在设置值后恢复选择范
$("#beLowerCase").keyup(function(){
$(this).val( $(this).val().toLowerCase() );
});
这实际上也适用于CSS:
#beLowerCase{
text-transform:lowercase;
}
服务器可以处理实际的下外壳…保留选择范围,并在设置值后恢复选择范围?是!!它会发生,因为你在做什么!!基本上,您不想更改整个值。找到一种方法,只需更改按下的键,而不是整个值,可能更简单,只需将模糊值小写。@MikeChristensen,不幸的是,这对我正在做的工作不起作用。幸运的是,我不必关心IE:太棒了!!CSS的东西更好!我讨厌jQuery有一个原因,因为每个人都在根本没有必要的时候使用它。对于Safari:不要用onblur触发这个小写函数,否则输入会保持焦点不变。在使用这种技术去除字符时,不要忘了考虑光标位置的变化。如果值的长度在设置selectionRange之前发生变化,则应从选择的开始和结束处减去长度差。
#beLowerCase{
text-transform:lowercase;
}