jquery 자동 완성 플러그인을 사용하고 있으며 사용자가 입력 한 특정 키를 기반으로 자동 완성을 수동으로 트리거하려고합니다. 자동 입력을 즉시 입력에 바인딩하려고하므로 사용자가 특정 키를 입력하여 "검색 할 데이터를 입력하고 있습니다"라는 트리거를 입력하면 자동 완성이 일치를 검색 할 수 있습니다. 중간에있을 수 있습니다. 반드시 시작 부분에있는 것은 아닙니다.jquery keypress 이벤트로 특정 키 코드에서만 자동 완성 트리거
입력에 키 누르기 이벤트를 바인딩하고 있습니다. 사용자가 "="와 같은 특정 키를 입력하면 배열의 모든 요소를 표시하려고합니다. 그런 다음 사용자가 문자를 입력하면 해당 문자의 배열에서 일치하는 옵션이 자동 완성됩니다. 이것은 Excel에서 일어나는 일을 모방하려고 시도하는데, 사용자가 equals 키를 눌렀을 때 "="키가 입력의 첫 번째 요소 일 필요는 없다는 것을 제외하고는 사용할 수있는 함수를 볼 때마다 자동 완성을 수행해야합니다. = "옵션이 선택 될 때마다 해당 AC를 누르고 바인드 해제합니다.
var array1 = ['one','two','three'];
$.input1.bind('keypress', function(event) {
var keyCode;
if (event.keyCode > 0) {
keyCode = event.keyCode;
} else if (typeof(event.charCode) != "undefined") {
keyCode = event.charCode;
}
if (String.fromCharCode(keyCode) == '=') {
$.input1.unbind('keypress');
$.input1.autocomplete(array1);
$.input1.blur();
$.input1.focus();
e = $.Event('keydown');
e.which = keyCode;
$.input1.trigger(e);
}
});
내가 사용자가 일치 수있는 텍스트 앞에 아무것도 입력 된 경우, 트리거 할 수있는 자동 완성을 얻을하더라도, 그것은 때문에 이전의 텍스트와 일치하지 않습니다. 따라서 사용자가 "abd ="를 입력하면 자동 완성은 "="뿐만 아니라 q 매개 변수로 "abb ="를 얻게됩니다.
어떤 도움도 정말 고맙습니다.
안녕하세요. petersendidit, 답장을 보내 주셔서 감사합니다. 2 일간 멍청한 짓을 한 후에 나는 플러그인 자체에 일종의 커스터마이즈가 있어야만한다고 생각했다. 내 요구 사항은 실제로 조금 더 까다로워졌습니다. 함수에는 매개 변수가 있으며 각 매개 변수는 다른 배열에 대해 자동 완성됩니다. 따라서 "functionX"라는 함수는 "="또는 "[param]"형식으로 나타나는 "function()"형식을 갖습니다. 사용자가 "["키를 누르면 자동 완성이 해당 매개 변수 배열에서 검색되도록 변경됩니다.따라서 사용자가 "abc ["를 타이핑하면 다른 하나를 볼 것입니다. –
각 함수에는 2 개의 형식이 있으므로 1 개의 형식은 functionName()과 같습니다. 사용자가 "="에 도달하면 모두 표시되고 다른 형식은 enclosureStart char 및 enclosureEnd char입니다. 따라서 사용자가 "["키를 누르면 결과가 나타나지 않지만 다음 키에서는 함수의 매개 변수 자동 완성 결과를 확인해야합니다. 그게 말이 되니? 내가 더 명확하게 할 수 있다면 당신에게 상세한 사용 사례를 이메일로 보낼 수 있습니다 ... 다시, 도움을 많이 주셔서 감사합니다! –