5

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

<input id="myId" type="text" /> 

元素:

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

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

这是一个已知的问题?难道我做错了什么?当输入为空时,有什么方法可以获取事件?

更新

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

4

1 回答 1

9

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

$("input#myId").bind('keyup', function (e) {    
    // Do Stuff
});
于 2012-04-04T03:40:38.940 回答