如果输入为空,则jQuery输入事件不会触发

时间:2012-04-04 03:36:21

标签: jquery javascript-events

我有一个jQuery事件处理程序,可以对

中的每个更改做出反应
<input id="myId" type="text" /> 

元素:

$("#myId").bind('input', function (e) {    
        // Do Stuff
    });

除非#myId中的输入为空(例如输入框中只有1个字符,然后使用Backspace将其删除),否则此操作非常有效。如果输入变空,则事件不会触发。如果我然后输入一个字符,事件就会触发。

这是一个已知问题吗?难道我做错了什么?输入变空时以何种方式获取事件?

更新

当输入Backspace时,事件不会触发,至少在IE9中。

1 个答案:

答案 0 :(得分:8)

据我所知,“输入”不是您想要使用的事件。由于“输入”类似于“更改”,当字符串接近0个字符时,它往往会产生错误的结果,而使用keyup代替

$("input#myId").bind('keyup', function (e) {    
    // Do Stuff
});