确定按下的键是否正在写东西 - Javascript

问题描述 投票:-1回答:1

我只想在按下的键正在写东西时才运行动作,所以它忽略了箭头键,shift键或输入键等。

我使用以下脚本,但我想找到一个改进它的替代方案。

$('body').on('keyup', 'input', function(e) {
  if (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 65 && e.keyCode <= 90 || e.keyCode >= 97 && e.keyCode <= 122) {
      // do something
  }
});
javascript keycode keyup onkeyup
1个回答
0
投票

来自评论:

问题是我的脚本只包括Number,Alphabet大写和Alphabet小写。我想只在输入内容改变时才运行动作

为了在输入中文本更改时触发事件,您需要定义一个包含输入的先前数据的全局变量。

然后当一个keyup事件被触发时,你可以检查input_data==new_input_data,然后做你想做的任何事情。

var input_data, new_input_data;
input_data = $("#myinput").val();
new_input_data="";
$('body').on('keyup', 'input', function(e) {
  new_input_data = $("#myinput").val();
  if(input_data!=new_input_data){
      alert("text changed");
      input_data = new_input_data;
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myinput" />
© www.soinside.com 2019 - 2024. All rights reserved.