autoComplete.js

如何检测文本框的内容已更改

霸气de小男生 提交于 2020-02-25 15:43:59
我想检测何时文本框的内容已更改。 我可以使用keyup方法,但是它也将检测不生成字母的击键,例如箭头键。 我想到了使用keyup事件执行此操作的两种方法: 仔细检查所按键的ASCII码是否为字母\\退格\\删除 使用闭包来记住按键之前文本框中的文本,并检查是否已更改。 两者看起来都很麻烦。 #1楼 我建议您看一下jQuery UI自动完成小部件。 他们在那里处理了大多数情况,因为他们的代码库比那里的大多数情况更为成熟。 以下是演示页面的链接,因此您可以验证其是否有效。 http://jqueryui.com/demos/autocomplete/#default 阅读源代码并查看他们是如何解决的,您将获得最大的收益。 您可以在这里找到它: https : //github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js 。 基本上,它们可以完成所有工作,它们绑定到 input, keydown, keyup, keypress, focus and blur 。 然后,它们会对各种键(例如 page up, page down, up arrow key and down arrow key 进行特殊处理。 在获取文本框内容之前使用计时器。 当用户键入与命令不对应的键(向上键,向下键等)时