在搜索栏中,开始输入“san f”(无引号,全部小写),然后按 Return(或 Enter)。“旧金山”是自动完成的。这很好!
现在清除搜索字段并重新开始。键入“San F”并繁荣 - 一旦您按下 Shift,“旧金山”就会自动完成。这不是预期的。
这发生在 FF 和 Safari 中,但在其他地方未经测试。我查看了 jQuery 自动完成源代码,一切看起来都很正常。
有谁之前经历过这个吗?
在搜索栏中,开始输入“san f”(无引号,全部小写),然后按 Return(或 Enter)。“旧金山”是自动完成的。这很好!
现在清除搜索字段并重新开始。键入“San F”并繁荣 - 一旦您按下 Shift,“旧金山”就会自动完成。这不是预期的。
这发生在 FF 和 Safari 中,但在其他地方未经测试。我查看了 jQuery 自动完成源代码,一切看起来都很正常。
有谁之前经历过这个吗?
在自动完成中尝试搜索选项,如下所示:
$(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();
}
});
要解决此问题:
向 KEY 对象添加:
SHIFT: 16,
CTRL: 17,
ALT: 18
在 onChange 函数的最顶部添加:
if ( jQuery.inArray(lastKeyPressCode, [KEY.SHIFT, KEY.CTRL,
KEY.ALT]) !== -1 )
return;
我认为是在自动完成配置autoFill: true
中定义的。删除这个它会解决问题。但是在写“san f”之后它不会自动填充“san Francisco, CA”。