我试图在验证后将光标放在输入字段的末尾。这样可以正常工作,除非你键入太多字母(超过输入框的默认长度),最后的字母不显示,因为输入的值在清理后被重写。
如何修改此代码以将光标放在输入字段的末尾?
在html中:
<input type="text" id="myInput">
在jQuery中:
$("#myInput").keyup(
function(){
this.value = this.value.replace(/[^a-z]/gi,''); // only letters
}
);
答案 0 :(得分:0)
不要在keyup
事件中进行验证,而是尝试使用keydown
事件,因为当事件被触发时,字符尚未添加到输入字段中。
你可以这样做......
$elem.keydown(function (e) {
if (isDisallowed(e.which)) {
e.preventDefault();
$('#errorMsg').text('That key is not allowed').delay(2000).fadeOut();
}
});