더 이상 고민하지 않고 직관적으로 살펴보겠습니다.
이 기능을 구현하려면 서버의 협조가 필요합니다. 클라이언트는 스크립트를 통해 서버에서 얻은 데이터를 표시합니다.
먼저 클라이언트 HTML을 살펴보세요.
nbsp;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
.hide()
.insertAfter('#submit')
//드롭다운 목록 내용을 지우고 드롭다운 목록 영역 숨기기
varclear = function(){
$autocomplete.empty().hide();
};
//이벤트 등록, 드롭다운 목록을 지우고 입력 상자가 포커스를 잃으면 숨김
$ searchInput.blur(function(){
setTimeout(clear,500);
})
//드롭다운 목록 항목이 강조 표시된 항목의 인덱스입니다. 표시된 경우 마우스나 키보드의 위쪽 및 아래쪽 키를 움직이면 Baidu 검색
var selectedItem = null
//The ID of timeout
var timeoutid = null; >//드롭다운 항목의 강조 배경 설정
var setSelectedItem = function(item ){
//인덱스 변수 업데이트
selectedItem = item
//위쪽 키와 아래쪽 키를 누릅니다. 0보다 작으면 최대값으로 설정되고, 최대값보다 크면 0으로 설정됩니다.
if (selectedItem selectedItem = $autocomplete.find('li').length - 1;
}
else if(selectedItem > $autocomplete.find('li').length -1 ) {
selectedItem = 0;
}
//먼저 다른 목록 항목의 강조 배경을 제거한 다음 현재 인덱스의 배경을 강조 표시합니다
$autocomplete.find('li' ).removeClass('highlight')
.eq(selectedItem).addClass('highlight');
};
var ajax_request = function(){
//ajax 서버 통신
$.ajax({
'url':'/test/index.jsp', //서버 주소
'data':{'search-text':$searchInput.val()}, / /Parameters
'dataType ':'json', //반환 데이터 유형
'type':'POST', //요청 유형
'success':function(data){
if( data.length) {
//데이터를 탐색하여 자동 완성 영역에 추가
$.each(data, function(index,term) {
//li 태그를 생성하여 드롭다운 목록에 추가
$('
.addClass('clickable')
.hover(function(){
/ / 드롭다운 목록의 각 항목에 대한 이벤트, 해당 항목으로 마우스를 이동하는 작업
$(this).siblings().removeClass('highlight')
$(this).addClass('highlight) ');
selectedItem = index;
},function(){
//드롭다운 목록의 각 항목에 대한 이벤트, 마우스 이탈 동작
$(this).removeClass ('highlight'); / /마우스가 떠나면 인덱스가 -1로 설정되어 표시로 사용됩니다.
selectedItem = -1
})
.click(function (){
//드롭다운 목록에서 이 항목을 마우스로 클릭합니다. 그렇다면 이 항목의 값을 입력 상자에 추가하세요.
$searchInput.val(term)//Clear and 드롭다운 목록 숨기기
$autocomplete.empty().hide();
})
});//이벤트 등록 완료
//드롭다운 위치 설정 목록을 확인한 다음 드롭다운 목록을 표시합니다
var ypos = $searchInput.position().top
var xpos = $searchInput.position().left
$autocomplete.css('width ',$searchInput.css('width'));
$autocomplete.css({'position':'relative' ,'left':xpos "px",'top':ypos "px"});
setSelectedItem(0);//드롭다운 목록 표시
$autocomplete.show()
}
}
}; //입력 상자에 대한 이벤트 등록
$searchInput
.keyup(function(event) {
//Alphanumeric , backspace, space
if(event.keyCode > 40 || event.keyCode == 8 || event.keyCode ==32) {
//먼저 드롭다운 목록의 정보를 삭제하세요
$ autocomplete.empty().hide()
clearTimeout(timeoutid);
timeoutid = setTimeout(ajax_request,100);
}
else if(event.keyCode == 38){
//Up
//selectedItem = -1은 마우스가 떠났다는 의미입니다.
if(selectedItem == -1){
setSelectedItem($autocomplete.find('li').length-1)
}
else {
//색인 빼기 1
setSelectedItem(selectedItem - 1);
}
event.preventDefault();
}
else if(event.keyCode == 40) {
//Down
/ /selectedItem = -1은 마우스가 떠났다는 것을 의미합니다.
if(selectedItem == -1){
setSelectedItem(0)
}
else {
//인덱스를 1만큼 늘립니다.
setSelectedItem(selectedItem 1);
}
event.preventDefault();
}
})
.keypress(function( event){
//키 입력
if(event.keyCode == 13) {
//목록이 비어 있거나 마우스가 떠났기 때문에 현재 인덱스 값이 없습니다.
if($autocomplete.find(' li').length == 0 || selectedItem == -1) {
return;
}
$searchInput.val($autocomplete.find('li').eq(selectedItem).text ()); $autocomplete.empty().hide();
event.preventDefault();
}
})
.keydown(function(event){
//esc 키
if(event.keyCode == 27 ) {
$autocomplete.empty().hide();
event.preventDefault();
}
}); 창 크기 변경 이벤트 및 드롭다운 목록 위치 변경
$(window).resize(function() {
var ypos = $searchInput.position().top;
var xpos = $searchInput. position().left;
$autocomplete.css('width',$searchInput.css('width'))
$autocomplete.css({'position':'relative ','left': xpos "px",'top':ypos "px"})
;
본문>
서버측 코드의 경우 여기에서 JSP를 선택하거나 PHP를 사용할 수 있습니다. 서버측은 중요하지 않습니다. 핵심은 데이터를 전송하는 것입니다.
String []words = {"amani","abc","apple","abstract" ,"an","bike","byebye",
"beat","be","bing","come","cup","class","calendar","china"}
if (request.getParameter("search-text") != null) {
String key = request.getParameter("search-text")
if(key.length() != 0) {
String json="[";
for(int i = 0; i
json = " "" 단어[i] """ ",";
}
}
json = json.substring(0,json.length()-1>0?json.length() -1: 1);
json = "]";
System.out.println("json:" json)
out.println(json); 🎜>% >
전체 프로세스의 개념은 실제로 매우 명확합니다. 먼저 입력 상자에 keyup 이벤트를 등록한 다음 이벤트에서 ajax를 통해 json 개체를 가져옵니다. 데이터를 획득한 후, 데이터의 각 항목에 대해 li 태그를 생성하고 태그에 클릭 이벤트를 등록하면 각 항목을 클릭할 때 해당 이벤트에 응답할 수 있습니다. 키보드 탐색의 핵심은 현재 강조 표시된 색인 값을 기록하고 색인 값에 따라 배경 강조 표시를 조정하는 것입니다. 드롭다운 목록의 위치는 입력 상자의 위치에 따라 설정되어야 하며, 브라우저 크기가 변경되면 언제든지 드롭다운 목록의 위치를 조정할 수 있습니다.
JQuery는 웹 프런트엔드를 위한 강력한 도구입니다. 기회가 된다면 꼭 살펴보세요.

如何设置QQ浏览器默认百度搜索引擎?QQ浏览器是一款非常适合办公或者学习的网络浏览器工具,这款浏览器界面简约,默认的搜索引擎是搜索狗搜索,不过很多用户比较习惯使用百度搜索,我们可以将默认搜索引擎改为百度搜索,不少小伙伴还不清楚具体要如何操作。接下来小编就给大家带来QQ浏览器设置百度为默认搜索引擎技巧攻略,感兴趣的朋友千万不要错过了。QQ浏览器设置百度为默认搜索引擎技巧攻略1.将qq浏览器启用,点击右上角出现的【三】图标(如图所示)。2.这时在下方会弹出一个功能窗口,在该窗口中点击进入到【设置】选

如何在谷歌浏览器上添加百度搜索引擎?谷歌浏览器是如今很多年轻人的选择,一般情况下,我们安装好谷歌浏览器,打开主页面是谷歌官方搜索引擎,不过谷歌搜索在国内是不能使用的,因此我们需要将搜索引擎换成其他的,不少用户喜欢使用百度搜索,那么如何将谷歌主页面设置成百度搜索呢。下面小编就给大家带来谷歌浏览器添加百度搜索引擎教程,希望能够给大家带来帮助。谷歌浏览器添加百度搜索引擎教程1、打开谷歌浏览器后右上角进入设置,如下图所示。2、点击左边的设置按钮,然后选择“搜索引擎”,如下图所示。3、在搜索引擎中,把搜索

怎么设置谷歌浏览器打开就是百度?一般情况下,大家下载安装好谷歌浏览器,默认打开的搜索引擎是google搜索,虽然google搜索非常强大,在是在国内却无法使用,因此很多小伙伴喜欢将浏览器的搜索引擎设置为百度搜索,那么具体该如何修改呢。下面小编就给大家详细介绍谷歌浏览器设置打开就是百度的具体方法,感兴趣的朋友快来看看了解一下吧。谷歌浏览器设置打开就是百度的具体方法首先,在电脑上打开谷歌浏览器,然后在右上角找到三个点图标。接着,点击这个图标,然后选择“设置”选项。有些用户的版本可能需要点击“选项”按

打开谷歌浏览器怎么变成百度了?我们下载安装好的谷歌浏览器默认主页搜索界面为google搜索,不过这款浏览器的主页面也有被其他浏览器篡改的情况,其中不少用户表示打开谷歌浏览器主页面显示的是百度搜索,那么遇到这种情况我们如何将谷歌浏览器默认搜索改为默认呢。下面就让小编给大家带来谷歌浏览器打开就是百度页面解决方案,有需要的朋友千万不要错过了。谷歌浏览器打开就是百度页面解决方案方法一:1、谷歌浏览器点击右上角三点,然后进入设置,修改启动时打开什么网址。例如必应或者其他网址都可以(如图所示)。2、也可以在

如何通过Vue和ElementPlus实现自动完成和自动填充引言:在现代网页开发中,表单的自动完成和自动填充是一个重要的功能要求。它能提高用户体验,减少重复输入的繁琐和错误。本文将介绍如何使用Vue和ElementPlus来实现自动完成和自动填充功能,并提供相应的代码示例。一、什么是自动完成和自动填充自动完成(Autocomplete):当用户在一个文本

随着互联网的发展,我们可以通过各种搜索引擎轻易地获得各种信息。而对于开发者来说,如何从搜索引擎中获取各种数据,是一项非常重要的技能。今天,我们来学习如何使用PHP编写一个爬虫,来爬取百度搜索结果。一、爬虫工作原理在开始之前,我们先来了解一下爬虫工作的基本原理。首先,爬虫会发送请求给服务器,请求网站的内容。服务器接收到请求之后,会返回网页的内容。爬虫收到内

如何处理PHP表单中的自动填充和自动完成随着互联网的发展,人们越来越依赖自动填充和自动完成功能来简化他们在网站上的操作。而在PHP表单中实现这些功能并不复杂,本文将简要介绍如何使用PHP来处理表单的自动填充和自动完成。在开始之前,我们需要明确什么是自动填充和自动完成。自动填充是指根据用户之前的输入或者历史记录,自动为用户填写表单中的字段。例如,在用户输入邮件

谷歌浏览器怎么设置百度为主页?如今很多人都喜欢使用谷歌浏览器,这款浏览器下载安装之后一般默认的搜索引擎是Google,不过Google搜索在国内是无法使用的,因此我们需要将谷歌浏览器的主页搜素引擎换成其他的,很多小伙伴都喜欢百度搜索,那么如何将谷歌浏览器的主页设置为百度呢。本篇文章就给大家带来谷歌浏览器将百度设置为主页图文教程,希望能够给大家带来帮助。谷歌浏览器将百度设置为主页图文教程1、点击打开谷歌浏览器,可以看到当前默认是Google搜索,如下图所示。2、在界面右上方点击三个点图标,然后选择


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
