keyup不读取输入值

时间:2016-02-29 05:06:42

标签: jquery keyup

我注意到,如果用户选择之前保存过的条目,JQuery中的13不会读取输入值。

例如,如下图所示......

enter image description here

如果用户选择之前保存的条目,那么我的keyUp函数最多只能读取上图中的13eb@queensu.ca,而不是keyUpArrayList仅在用户手动输入电子邮件的每个字符时才有效。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

你可以用这个结合起来。

$('#text').on('change keyup mousedown',function(){
alert("1");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="text"/>

答案 1 :(得分:1)

我不确定您是否可以仅使用keyup解决问题...但是,您可以使用事件组合并将它们绑定到控件。

这是一个例子。根据您的具体情况更新。

&#13;
&#13;
var counter = 0;
$("#myId").bind("keyup change paste input propertychange mousedown", function(event) {
  counter++;
  $("p").text(counter + ": " + event.type);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myId">
<p></p>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

您可以绑定/监听input事件,所有主流浏览器都在其支持的版本中获得某种程度的支持。 jquery示例:

$("#search").on("input", function() {
  console.log($(this).val());
});

将触发输入仍处于焦点时发生的目标输入元素的更改(因此输入失去焦点后不会发生,例如:change事件),例如:

  • 用户输入输入
  • 使用浏览器驱动的“自动填充”时的输入更新,
  • 用户使用系统剪贴板将文本粘贴到输入中

请务必查看支持的任何特定于浏览器的怪癖,特别是当用户删除已输入的字符时(例如使用删除键或退格键或“剪切”时),IE9不会触发此事件。

简单,有效的小提琴示例:

https://jsfiddle.net/q6doxbur/2/