在input
上使用jquery .change
,仅当输入失去焦点时才会触发事件 jquery
就我而言,我须要在输入值更改后当即调用该服务(检查值是否有效)。 我该怎么作? api
这涵盖了使用jQuery 1.7及更高版本对输入的全部更改: 浏览器
$(".inputElement").on("input", null, null, callbackFunction);
使用HTML5而不使用jQuery,您能够使用input
事件 : ide
var input = document.querySelector('input'); input.addEventListener('input', function() { console.log('input changed to: ', input.value); });
每次输入文本更改时都会触发。 this
在IE9 +和其余浏览器中受支持。 spa
在此处的jsFiddle中进行尝试。 插件
正如其余人已经建议的那样,您的解决方案是嗅探多个事件 。
执行此工做的插件一般会侦听如下事件: code
$input.on('change keydown keypress keyup mousedown click mouseup', handler);
若是您认为合适,也能够添加focus
, blur
和其余事件。
我建议不要超出侦听事件的范围,由于它会将更多的过程加载到浏览器内存中,以根据用户的行为执行。 事件
注意:请注意,使用JavaScript更改输入元素的值(例如,经过jQuery .val()
方法)不会触发上述任何事件。
(参考: https : //api.jquery.com/change/ )。 ip
您能够将jQuery事件(例如keyup和keypress)与输入HTML元素一块儿使用。 您还能够使用blur()事件。
// .blur在元素失去焦点时触发
$('#target').blur(function() { alert($(this).val()); });
//要手动触发,请使用:
$('#target').blur();