使用JQuery,如何在字段仍具有焦点时检测文本输入的值是否已更改?
在发布此问题之前我注意到之前在此主题上发布了类似的问题,但是在这种情况下用户没有通过使用键盘与文本字段交互,在这种情况下将文本字段绑定到“粘贴”在我的案例中,行动或任何其他漂亮的建议都行不通。
我们的用户正在输入从条形码扫描的字符串值。 我们试图做的是避免在扫描信息后让用户放下扫描仪进入下一个字段的麻烦。 但是,我仍然有一个问题,即在文本字段仍具有焦点时检测其值的变化。
这是我们缺少的谜题的唯一部分,因为将焦点应用于表单上的下一个字段是微不足道的。 任何人都可以了解当输入设备不是键盘时如何检测文本字段值的变化? 我已经尝试过使用change()事件但是在字段不再具有焦点之前它不会触发。
你可以听一下keypress
事件。
var target = $('#target'), val = target.val(); function monitor() { var current_val = $(this).val(); if (current_val != val) { console.log('changed from', val, 'to', current_val); val = current_val; } } target.keypress(monitor);
好吧,总有蛮力:用setInterval()
轮询它。