我想检查输入值的长度,并在达到3时自动跳到下一个输入。我有跳过的代码,但是keyup事件排队的方式让我感到头痛......
输入字段的示例处理程序:
$('input').on('keyup', function (e) {
var $this = $(this);
var code = e.keyCode || e.which;
alert(String.fromCharCode(code)+' '+$this.val());
// Handling of $this.val()==3
});
在释放按键之前键入三个字母。所有事件都已知道输入的最终值,因此我对长度的检查会过早地触发并且对于所有三个字母。
如何在按下其他键的同时触发keyup-event? 如果需要澄清,请询问。
答案 0 :(得分:0)
我理解你的意思。这可能需要一些黑客攻击。
试试这个,虽然它可能不起作用:
将事件监听器更改为change
$('input').on('change', function(e) {
//use console rather than alert
console.log(String.fromCharCode(code)+' '+$this.val());
});
然后为keyup
添加一个单独的侦听器,用于触发更改事件
$('input').on('keyup', function (e) {
$(this).trigger('change');
});