您知道吗,检查keydown
事件的输入区域中是否显示按下的键?例如,当我按下转义键,或移位或箭头时,我想返回false
,但如果这是某个字符,则会显示例如。字母,数字,然后我想返回true
。
我在event
数据中看不到任何有用的价值。这很容易检查keyup
事件,因为您需要做的就是检查输入值。
我真正想要实现的目标是防止用户在显示之前输入无效字符。检查键代码是非常有问题的,因为有箭头,转义,移位(也可以选择移位+箭头),ctrl(ctrl + c,ctrl + v ......)等......所有这些都应该被允许。< / p>
有什么想法吗?
$('#input').on('keydown', function(e){
if(is_char_visible(e, this)){
// prevent character from display
if(! validation_example(e.which)){
e.preventDefault();
}
}
});
function is_char_visible(event, obj){
// ???
// return true;
}
function validation_example(keycode){
// allow only lowercase letters
return ! (keycode < 65 || keycode > 90);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="input">
&#13;