의 jQuery 자동 완성 - 자동 초점을 방지하는 방법을 MINLENGTH는 </p> <p>페이지를 통해 탭 이동하는 동안
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"];
$("#test").autocomplete({
minLength: 0,
source: availableTags,
autoFocus: true,
select: function (event, ui) {
if (ui.item) {
event.preventDefault();
$(this).val(ui.item.label);
}
},
open: function (event, ui) {
var menu = $(this).data("uiAutocomplete").menu;
var items = $('li', menu.element);
for (var i = 0; i < items.length; i++) {
if (items.eq(i).text().startsWith($(this).val())) {
menu.focus(null, items.eq(i));
break;
}
}
},
focus: function (event, ui) {
event.preventDefault();
if ($(this).val() == "" && !event.keyCode) {
//debugger;
$('.ui-menu-item a').removeClass('ui-state-focus');
}
else {
//$(this).data("uiAutocomplete").menu.element.children().first().focus();
}
}
}).on("focus", function() {
$(this).autocomplete("search", "");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
<label for="test" class="col-md-3 col-lg-3 control-label"></label>
<div class="col-md-9 col-lg-7">
<input id="test" type="text" class="form-control" />
</div>
</div>
minLength = 1
으로 설정하면 문제가 해결됩니다. 그러나 입력이 집중되었을 때 드롭 다운을 팝업하려면
minLength = 0
을 유지해야합니다.
먼저 드롭 다운을 팝업 할 때 포커스 클래스를 제거하는 것이 좋습니다. 그러나 문제는 내가 화살표 다운을 누르면, 두 번째 옵션은 첫 번째 옵션 대신 집중된 것입니다.
수동으로 첫 번째 옵션을 집중시키는 방법을 찾을 수 없습니다. 도와주세요.
다른 해결책도 환영합니다. 미리 감사드립니다.
감사합니다. 입력 필드에 포커스가있을 때 드롭 다운이 표시되어야합니다. 그래서 minLength = 0에 드롭 다운이 포함되었습니다. 그러나 나는 드롭 다운의 첫 번째 옵션에 초점을 맞추는 자동 기능의 기본 기능을 원하지 않는다. 희망이 분명하다. – Sophia
나는이 문제를 발견했다고 생각한다. minLength = 0, autofocus = true 및 focus 함수를 결합하면 첫 번째 항목이 집중된 드롭 다운이 표시됩니다. 첫 번째 지점에서 드롭 다운을 팝업하려면 minLength 및 포커스 기능이 필요합니다. 사용자가 sth를 입력하고 옵션에 자동 초점이 맞춰지면 자동 초점이 필요합니다. 그러나 사용자가 아무 것도 입력하지 않으면 첫 번째 옵션에 집중하는 것을 원하지 않습니다. 희망을 나는 이해하고있다. $ ("#test") .autocomplete ({ 출처 : availableTags, MINLENGTH : 0, 자동 초점 : 사실 }) ("초점"함수() { $ (이) .autocomplete ("에. 검색 "); }) ;; – Sophia