在输入字段中输入3个字符时,使用jquery触发事件

Kir*_*eva 5 jquery triggers autocomplete character

我说有一个HTML输入字段

<input type="text" maxlength="50" size="50" name="subject" id="subject">
Run Code Online (Sandbox Code Playgroud)

我需要在输入的每3个charachters上触发一个函数.

例如:

如果用户输入"aaa" - 触发事件,他继续输入"aaa bbb" - 再次触发事件等.

但不应计算空格.

我需要这个将字段的值发布到外部API - 进行搜索.

有没有人这样做过?

请帮忙.

mbh*_*n88 12

尝试这样的事情.将事件处理程序绑定到input页面加载

$(function(){

    $("#subject").change(function(){

         var val = $(this).val().trim();
         val = val.replace(/\s+/g, '');

         if(val.length % 3 == 0) { //for checking 3 characters
               //your logic here
         }

    });      
});
Run Code Online (Sandbox Code Playgroud)


Rub*_*nte 9

如果您想在用户输入时实时执行此操作而不要求他们从输入中删除焦点,您可以使用keyup事件和略微修改的逻辑来过滤空格键按下.

$('#subject').on('keyup', function(e) {
    if (e.which !== 32) {
        var value = $(this).val();
        var noWhitespaceValue = value.replace(/\s+/g, '');
        var noWhitespaceCount = noWhitespaceValue.length;
        if (noWhitespaceCount % 3 === 0) {
            // Call API
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle