// JavaScript-Dokument function onChangehoverLi(thisLi) { $("#searchtext").val($(thisLi).html()); $("#suggest_ul").hide(0); }
$(function(){ //Dropdown-Li beim Laden ausblenden $("#suggest_ul").hide(0); }); > / /Ajax ruft dynamisch Schlüsselwörter ab
//Auf Textfeld-Eingabeänderungen hören
Funktion fuzzySearch(){
//Ajax-Objektfunktion erstellen function createLink(){ if(window.ActiveXObject){ var newRequest = new ActiveXObject("Microsoft.XMLHTTP"); >} return newRequest; }
//Wenn das Textfeld leer ist, senden Sie die Anfrage nicht if($("#searchtext").val().length ==0||$(" #searchtext").val().length>10){ $("#suggest_ul").hide(0); } //Anfrage senden http_request = createLink();//Erstelle ein Ajax-Objekt if(http_request){ var sid = $("#searchtext").val(); var url = "contentSearchAction!getSynonyms.action" ; var data = "keywords=" //alert(data) http_request.open("post",url,true); 🎜>http_request.setRequestHeader("content -type","application/x-www-form-urlencoded");
//Geben Sie eine Funktion an, um die vom Server zurückgegebenen Ergebnisse zu verarbeiten http_request.onreadystatechange = Dealresult; //Für diese Funktion sind keine Klammern erforderlich //Anfrage senden http_request.send(data);
//Verarbeiten Sie das Rückgabeergebnis Funktion Dealresult (){ if(http_request.readyState== 4){ //Gleich 200 bedeutet Erfolg if(http_request.status==200){ if(http_request.responseText==" no"){ $("#suggest_ul") .hide(0); return;
} $("#suggest_ul").show(0); var res = eval("(" http_request.responseText ") "); var content=""; for(var i=0;ivar keywords = res[i].keywords; contents=contents "
" keywords "
"
} $("# suggest_ul").html(contents);
} } }
} //Maus $(function(){
//Anzeige der Dropdown-Eingabeaufforderung 300 Millisekunden nach dem Drücken der Taste $("#searchtext").keyup(function(){ setInterval(changehover,300); function changehover() { $("#suggest_ul li").hover(function(){ $(this).css("background","#eee ");},function(){ $(this).css(" background","#fff");}); } });
Während der Verwendung habe ich eine Situation festgestellt, in der ich bei der Eingabe von Chinesisch nicht nach der Eingabemethode des iOS-Systems gesucht habe, da der Benutzer zuerst die Taste gedrückt hat virtuelle Tastatur.
Wenn Chinesisch angezeigt wird, können Sie den Wert im Eingabefeld auf Chinesisch ändern.
Die endgültige Lösung besteht darin, das Ereignis oninput zu verwenden. Dieses Ereignis ist im neuesten HTML5 sehr einfach zu verwenden, es ist jedoch problematisch, dass einige Browser niedrigerer Versionen nicht kompatibel sind.
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn