Jquery调用数据列表选项卡或输入

Jquery call on datalist tab or enter on an input

本文关键字:输入 选项 列表 调用 数据 Jquery      更新时间:2023-12-29

当有人在特定的输入字段中输入四到五位数时,我希望执行一个函数。

这是我的代码:

$('body').on('keyup click','input[name=id]',function(){
    if($(this).val().length>3){
        console.log('Hello');
    }
});

我遇到的问题是input[name=id]有一个datalist,用于帮助选择已知的id。因此,当有人键入所有四个数字(如3043)时,上面的函数就会执行。如果有人键入30,然后向下箭头指向数据列表选项3043并按下回车键,它将执行。

但是

如果有人键入30,然后向下箭头到3043并按TAB键,它将不会执行。如果有人键入30,然后点击数据列表选项3043,它将不会执行。

我需要它来捕捉所有四种可能的动作。

尝试使用"input"事件。这正是你想要的。所有浏览器都支持输入事件,但数据列表也不支持(所有支持数据列表的浏览器也支持输入事件)。

$('#id').on('input',function(){
    if($(this).val().length>3){
        console.log('Hello');
    }
});