Jquery调用datalist选项卡或输入输入

时间:2013-11-29 21:22:35

标签: javascript jquery html5

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

这是我的代码:

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

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

BUT

如果有人输入30然后箭头下降到3043并按下TAB则不会执行。如果有人输入30然后点击datalist选项3043则不会执行。

我需要能够捕捉所有四种可能的行为。

1 个答案:

答案 0 :(得分:1)

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

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