见的行为相同:http://www.airbnb.com/jQuery的自动完成的问题 - Shift键返回键
在搜索栏中,开始输入“三F”(不包括引号,全部小写),然后按回车(或Enter)。 “旧金山”是自动完成的。这很好!
现在清除搜索栏并重新开始。键入“San F”和繁荣 - “旧金山”会在您点击Shift时自动完成。这不是预期的。
这发生在FF & Safari中,但在其他地方未经测试。我浏览了jQuery自动完成源代码,看起来很正常。
有没有人遇到过这个?
见的行为相同:http://www.airbnb.com/jQuery的自动完成的问题 - Shift键返回键
在搜索栏中,开始输入“三F”(不包括引号,全部小写),然后按回车(或Enter)。 “旧金山”是自动完成的。这很好!
现在清除搜索栏并重新开始。键入“San F”和繁荣 - “旧金山”会在您点击Shift时自动完成。这不是预期的。
这发生在FF & Safari中,但在其他地方未经测试。我浏览了jQuery自动完成源代码,看起来很正常。
有没有人遇到过这个?
为了解决这个问题:
到Key对象添加:
SHIFT: 16,
CTRL: 17,
ALT: 18
而到了的onChange功能添加的顶部:
if (jQuery.inArray(lastKeyPressCode, [KEY.SHIFT, KEY.CTRL,
KEY.ALT]) !== -1)
return;
我认为,在定义了自动完成配置autoFill: true
。删除这一个,它将解决问题。但在这种情况下,写完“san f”后,它不会自动填充“旧金山,加利福尼亚州”。在自动完成
尝试搜索选项如下:
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#tags").autocomplete({
source: availableTags,
search: function(event, ui) {
if(event.which == 16 || event.which == 17)
event.preventDefault();
}
});
它不只是转移。它的标签也是。基本上,您的代码将键盘分为三类:输入文字的字符,不执行任何操作的键码,以及确认选项卡,移位和输入的键码。它们可能不是基于特定的密码bla = bla,而是它们的一个范围 – XGreen 2010-05-07 23:27:59