我希望在输入字段中进行更改后立即发生某些事情,而不是在此输入未集中之后。还有别的办法吗?
演示
UPDATE它也应该工作的类型,用户不需要实际点击键盘上的按钮(如HTML5输入类型=数字/日期)
实际的事件随着控件的类型而变化。我把一些例子放在一起:
$(document).ready(function() {
function callback() { alert($(this).val()); }
$('input[type=number]').on('input',callback);
$('input[type=date]').on('input',callback);
$('input[type=text]').on('keyup',callback);
});
注意:如果使用CTRL+V粘贴文本,keyup
事件可能触发两次。
注2:右击->粘贴将无法识别。paste
事件也帮不了你,因为它在文本更新之前触发
当键盘键被释放时发生keyup事件。
$(document).ready(function() {
$('#i1').on('keyup',function() {
alert('Changed');
});
.keyup()
如果是文本字段,则需要使用.keyup
既然你想要html5字段试试.click
应该为number
字段工作,但不确定date
字段
使用on("keyup")来演示
http://fiddle.jshell.net/b5UZN/1/是这样吗?
$(document).ready(function() {
$('#i1').on('keyup',function() {
alert('Change has been recognised!');
});
$('#i1').on('paste',function() {
alert('Change has been recognised!');
});
});