Ich versuche, Suchergebnisse zu verbergen, wenn der Fokus nicht auf der Sucheingabe liegt. Ich kann das leicht tun, indem ich nach der .keyup()
Funktion verwende. Mein Problem ist, dass, wenn ein Benutzer auf das Suchergebnis klickt ... es verbirgt sich immer noch. Also, ich möchte es machen, damit, wenn der Benutzer den Fokus von der Texteingabe entfernt und Benutzer konzentriert sich nicht auf Suchergebnis dann verstecken nur die div
Suchergebnis ausblenden, wenn der Fokus nicht auf Eingabe liegt
HTML:
<form role="search" autocomplete="off">
<div>
<input id="searchInput" type="text" placeholder="Search">
</div>
<div class="search_main">
<div id="sresult" tabindex="0"></div>
</div>
</form>
jQuery:
$("#searchInput").keyup(function(e) {
var q = $(this).val();
if (q !== undefined && q.length > 0) {
$("#sresult").show(150);
$("#sresult").html("No results");
} else {
$("#sresult").hide(150);
}
}).blur(function(e) {
$("#sresult").hide(150);
});
Da gibt es keine solche conditio n Sie haben angegeben, dass Ihr Suchergebnis sichtbar bleibt. –
Sie müssen die Unschärfeverkettung entfernen, wenn Sie sichtbar bleiben und andere Dinge definieren möchten, wenn sie sich verstecken sollen. –