我注意到,如果用户选择之前保存过的条目,JQuery中的13
不会读取输入值。
例如,如下图所示......
如果用户选择之前保存的条目,那么我的keyUp函数最多只能读取上图中的13eb@queensu.ca
,而不是keyUp
。
ArrayList
仅在用户手动输入电子邮件的每个字符时才有效。我该如何解决这个问题?
答案 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解决问题...但是,您可以使用事件组合并将它们绑定到控件。
这是一个例子。根据您的具体情况更新。
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;
答案 2 :(得分:1)
您可以绑定/监听input
事件,所有主流浏览器都在其支持的版本中获得某种程度的支持。 jquery示例:
$("#search").on("input", function() {
console.log($(this).val());
});
将触发输入仍处于焦点时发生的目标输入元素的更改(因此输入失去焦点后不会发生,例如:change
事件),例如:
请务必查看支持的任何特定于浏览器的怪癖,特别是当用户删除已输入的字符时(例如使用删除键或退格键或“剪切”时),IE9不会触发此事件。
简单,有效的小提琴示例: