我正在使用JavaScript(jQuery
)函数强制在文本字段中使用大写字母。问题是,如果用户键入,然后尝试使用箭头键,或者再次单击字段的开头并再次输入类型,则会强制光标返回到文本字段的末尾。
请参阅以下jsFiddle:http://jsfiddle.net/Msh7P/1/
键入任何内容,然后尝试使用左箭头键,或单击文本字段的开头并键入。
我该如何解决这个问题?感谢。
答案 0 :(得分:2)
你可以用CSS做到这一点:
#username { text-transform: uppercase; }
答案 1 :(得分:2)
CSS,或者你可以这样做:
$(document).ready(function() {
$("#username").bind("input paste", function() {
$(this).val($(this).val().toUpperCase());
})
.bind("keydown", function(e) {
e.shiftKey = true;
});
});
答案 2 :(得分:1)
发生这种情况的原因是因为您要从DOM中删除光标所在的内容,然后用新内容替换它们。您将需要跟踪光标参考,然后在新内容中手动设置它的位置。