我有一个使用 Jorn Zaefferer 的“自动完成”jQuery 插件的表单字段。如果我输入一些文本,然后选择其中的一部分并按退格键,自动完成列表会更新。但是如果我点击删除而不是退格,自动完成列表就会消失。
我正在查看插件的代码,看起来自动完成更新程序是由字段中的 keydown 事件触发的,并且退格和删除都会触发 keydown。
退格和删除之间是否存在可能导致这种情况的根本区别?
我有一个使用 Jorn Zaefferer 的“自动完成”jQuery 插件的表单字段。如果我输入一些文本,然后选择其中的一部分并按退格键,自动完成列表会更新。但是如果我点击删除而不是退格,自动完成列表就会消失。
我正在查看插件的代码,看起来自动完成更新程序是由字段中的 keydown 事件触发的,并且退格和删除都会触发 keydown。
退格和删除之间是否存在可能导致这种情况的根本区别?
如果您查看onChange()
方法,Del则有一个特殊用途-隐藏自动完成列表:
function onChange(crap, skipPrevCheck) {
if( lastKeyPressCode == KEY.DEL ) {
select.hide();
return;
}
所以不,这里的事件行为没有根本区别,这就是自动完成插件的设计方式,删除键专门用于隐藏列表。