在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();