keyup 不读取输入值
keyup does not read input value
我注意到如果用户选择之前保存的条目,JQuery 中的 keyUp
不会读取输入值。
例如下图中...
如果用户选择之前保存的条目,那么我的 keyUp 函数将只读取上图中的 13
,而不是 13eb@queensu.ca
。
keyUp
仅在用户手动输入电子邮件的每个字符时才有效。我该如何解决这个问题?
我不确定您是否可以单独使用 keyup 解决问题...但是,您可以使用事件组合并将它们绑定到控件。
举个例子。根据您的具体情况进行更新。
var counter = 0;
$("#myId").bind("keyup change paste input propertychange mousedown", function(event) {
counter++;
$("p").text(counter + ": " + event.type);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myId">
<p></p>
你可以结合使用这个。
$('#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"/>
您可以 bind/listen input
事件,所有主要浏览器在其支持的版本中都对这些事件提供了一定程度的支持。 jquery 示例:
$("#search").on("input", function() {
console.log($(this).val());
});
将在输入仍处于焦点状态时触发目标输入元素的更改(因此不会在输入失去焦点之后,如 change
事件),例如:
- 用户输入,
- 使用浏览器驱动时的输入更新"autofill",
- 用户使用系统剪贴板将文本粘贴到输入中
一定要查看支持的任何特定于浏览器的怪癖,特别是当用户删除已经输入的字符时(例如使用删除键或退格键或 "cut" 时),IE9 不会触发此事件。
简单,有效Fiddle示例:
我注意到如果用户选择之前保存的条目,JQuery 中的 keyUp
不会读取输入值。
例如下图中...
如果用户选择之前保存的条目,那么我的 keyUp 函数将只读取上图中的 13
,而不是 13eb@queensu.ca
。
keyUp
仅在用户手动输入电子邮件的每个字符时才有效。我该如何解决这个问题?
我不确定您是否可以单独使用 keyup 解决问题...但是,您可以使用事件组合并将它们绑定到控件。
举个例子。根据您的具体情况进行更新。
var counter = 0;
$("#myId").bind("keyup change paste input propertychange mousedown", function(event) {
counter++;
$("p").text(counter + ": " + event.type);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myId">
<p></p>
你可以结合使用这个。
$('#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"/>
您可以 bind/listen input
事件,所有主要浏览器在其支持的版本中都对这些事件提供了一定程度的支持。 jquery 示例:
$("#search").on("input", function() {
console.log($(this).val());
});
将在输入仍处于焦点状态时触发目标输入元素的更改(因此不会在输入失去焦点之后,如 change
事件),例如:
- 用户输入,
- 使用浏览器驱动时的输入更新"autofill",
- 用户使用系统剪贴板将文本粘贴到输入中
一定要查看支持的任何特定于浏览器的怪癖,特别是当用户删除已经输入的字符时(例如使用删除键或退格键或 "cut" 时),IE9 不会触发此事件。
简单,有效Fiddle示例: