我有一个简单的输入,如下所示:
<input type="text" id="foo">
我尝试使用change()
来检测何时键入了至少1个字符。问题是,在输入文本框失去焦点之前,事件不会触发。
是否还有其他可以绑定的事件,并且在键入至少1个字符时能够触发某些代码?
答案 0 :(得分:2)
您可以使用jQuery&#39; keydown()
。您还可以尝试keypress()
,当密钥向下时会触发,或keyup()
,即密钥被抬起时。
这些都是在一把钥匙之后发生的,而不是在失去焦点之后。
因此,您可以尝试:
$("#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;
答案 1 :(得分:0)
您可以尝试输入。
$('#foo').on('input', function(){
if (this.value.trim().length) {
console.log('we got a char');
}
});
输入被过滤为改变元素实际输入的东西。因此,您不必担心功能键和内容等随机键,输入按键等。