按键是可见/可显示 - keydown事件

时间:2018-05-04 18:46:37

标签: javascript jquery

您知道吗,检查keydown事件的输入区域中是否显示按下的键?例如,当我按下转义键,或移位或箭头时,我想返回false,但如果这是某个字符,则会显示例如。字母,数字,然后我想返回true

我在event数据中看不到任何有用的价值。这很容易检查keyup事件,因为您需要做的就是检查输入值。

我真正想要实现的目标是防止用户在显示之前输入无效字符。检查键代码是非常有问题的,因为有箭头,转义,移位(也可以选择移位+箭头),ctrl(ctrl + c,ctrl + v ......)等......所有这些都应该被允许。< / p>

有什么想法吗?

&#13;
&#13;
$('#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;
&#13;
&#13;

0 个答案:

没有答案