输入val()错误的Keyup事件



在捕获keyup事件的脚本中,我得到了输入字段的错误值。

 $("#country-name").keyup(function () {
    if ($(this).val().length > 1 ) {
        console.log($(this).val());
    }
 });

在输入文本中如果我输入br然后我选择两个字母并快速输入gr我得到一个log br但2个log gr

如何避免$(this).val()更新过快?

谢谢

最简单的方法是引入延迟,以解释输入的人。

var t;
$("#country-name").keyup(function() {
    var value = $(this).val();
    clearTimeout(t);
    t = setTimeout(function() {
      if (value.length > 1 ) {
        console.log(value);
      }
    }, 500);
});

jsfiddle

示例

将其保存在一个局部变量中,如下所示:

$("#country-name").keyup(function () {
    var value = $(this).val();
    if (value.length > 1 ) {
        console.log(value);
    }
});

相关内容

  • 没有找到相关文章

最新更新