DHS*_*DHS 7 jquery events jquery-ui jquery-ui-autocomplete
如果你看到这个小提琴演示,不是我做的,那我怎么能避免键盘可以关闭并选择禁用元素?鼠标工作正常(无法选择它)但我可以用键盘下来并选择它,导致空搜索: - /
Fiddle演示来自这篇文章,如何在jQuery自动完成列表中禁用元素
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,
response: function (event, ui) {
if (ui.content.length > 3) {
while (ui.content.length > 3) {
ui.content.pop();
}
ui.content.push({
'label': 'Please narrow down your search',
'value': ''
});
}
}
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li " + (item.value == '' ? 'class="ui-state-disabled"' : '') + ">")
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
});
Run Code Online (Sandbox Code Playgroud)
自动完成“知道”根据<a>每个内部的存在来突出显示项目li。您可以通过删除锚点来禁用事件的键盘选择:
.data("ui-autocomplete")._renderItem = function (ul, item) {
var $el = $("<li>");
if (item.value === '') {
$el.addClass("ui-state-disabled")
.text(item.label);
} else {
$el.append("<a>" + item.label + "</a>");
}
return $el.appendTo(ul);
};
Run Code Online (Sandbox Code Playgroud)
示例: http: //jsfiddle.net/m6zvf/12/