我只想在按下的键在写东西时才执行操作,因此它会忽略箭头键,Shift键或Enter键等。
我正在使用以下脚本,但我想找到一种改进方法。
$('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
}
});
答案 0 :(得分:0)
从评论中:
问题是我的脚本只包含数字,字母大写和字母小写。我只想在输入内容更改时执行操作
为了在输入中的文本更改时触发事件,您需要定义一个全局变量来保存输入的先前数据。
然后,当触发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" />