jQuery处理程序,用于了解何时在输入文本元素中输入了至少1个字符

时间:2016-01-05 00:38:08

标签: javascript jquery

我有一个简单的输入,如下所示:

<input type="text" id="foo">

我尝试使用change()来检测何时键入了至少1个字符。问题是,在输入文本框失去焦点之前,事件不会触发。

是否还有其他可以绑定的事件,并且在键入至少1个字符时能够触发某些代码?

2 个答案:

答案 0 :(得分:2)

您可以使用jQuery&#39; keydown()。您还可以尝试keypress(),当密钥向下时会触发,或keyup(),即密钥被抬起时

这些都是在一把钥匙之后发生的,而不是在失去焦点之后。

因此,您可以尝试:

&#13;
&#13;
$("#test").keydown(function() {
  $("#console").prepend(
    (($(this).val().length) ?
      "Not Empty" :
      "Empty")
    + "<br />"
  );
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="test" />
<div id="console"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以尝试输入。

$('#foo').on('input', function(){
    if (this.value.trim().length) {
        console.log('we got a char');
    }
});

输入被过滤为改变元素实际输入的东西。因此,您不必担心功能键和内容等随机键,输入按键等。