1월 5일 업데이트
자동완성 텍스트 상자의 포커스가 사라지고 자동완성 컨테이너가 사라지지 않는 버그 수정
expandAllItem 메서드 추가, 더블클릭 시 모든 항목 표시 가능 , 자세한 내용은 예시를 참조하세요
CSS로 자동 완성 컨트롤을 아름답게 만드는 방법을 보여주는 customStyle 예시가 추가되었습니다. 데모 및 다운로드는 autocomplete_custom CSS 파일
을 참조하세요.
http:/ /www.never-online.net/code /neverModules/autocomplete/
이전 버전에 비해 기능 개선 및 기능:
1. 매칭 속도가 향상되었습니다.
2. ignoreCase 속성을 추가합니다(false인 경우 대소문자를 구분하며 기본값은 true입니다)
3. ignoreWhere 속성을 추가합니다(true인 경우 일치 결과는 그리디 일치를 사용합니다. 즉, 전체 문자열에 입력 문자가 있는 한 dataSource 콘텐츠가 일치 결과로 전송됩니다)
4. 돌아가려면 esc를 누르세요.
5. IE6.0, Opera9.0, Mozilla Firefox1.5
6과 호환됩니다. DataSource 데이터는 수동으로 삭제되거나 dataSource에 동적으로 할당될 수 있습니다. AJAX를 편리하게 수행하세요. 자세한 내용은 예제를 참조하세요.
7. 강조된 속성(기본값은 true이며, 데이터 양이 많을 경우 false로 설정하는 것이 좋습니다).
8. IE에서는 선택 컨트롤에 의해 div가 가려지는 것을 보완합니다. 자세한 내용은 첫 번째 예를 참조하세요.
9. 화살표 키가 지원됩니다.
아이디어 및 참조:
초기화 중에 Join("")을 사용하여 모든 데이터에 대한 dataSource 문자열을 한 번에 생성합니다(문자열 단어에 사용하는 HTML은 최대한 짧습니다. 가장 작은 문자열로 데이터를 생성하려면 이를 활성화한 다음 정규식을 사용하여 일치시킵니다. 속도면에서는 이미 매우 빠른 것 같습니다.
아직 범위 기능은 추가되지 않았지만 기본 기능이면 충분합니다. 속도는 꽤 괜찮습니다. 이제 속도 문제를 발견했습니다. Opera, Mozilla 및 IE에서 커널의 효율성을 최대한 활용하려는 경우 결과적으로 코드가 크게 길어질 수 있습니다. 결국, 서로 다른 코어 간의 효율성은 매우 다릅니다.
호환성과 효율성도 상충되는 문제입니다. insertAdjanceHTML 메소드를 사용하는 것은 대부분의 경우 문자열을 삽입하는 가장 간단하고 호환 가능한 방법 중 하나입니다.
또 다른 문제는 강조 표시를 추가한 후 강조 표시를 하려면 다시 역추적해야 하는데 이는 두 개의 일치 항목에 해당합니다. 이는 효율성의 문제이기도 합니다. 따라서 데이터의 양이 많을 경우에는 강조된 속성을 false로 설정하는 것이 좋습니다. 이론적으로 이 효율성은 속도를 약 40% 증가시켜야 합니다.