2016-03-24 16 views
0

Ich habe versucht, meine Autocomplete-Liste in Javascript zu schließen, wenn der Benutzer woanders klicken, und fand diese große Antwort: Jquery Close autoComplete listjavascript die automatische Vervollständigung der Nähe mit einem visuellen Fehler

Da ich eine „Showmore“ nicht Option, wie in die ursprüngliche Frage, die ich es wie folgt angepasst:

$(document).bind('click', function (event) { 
      $(".ui-menu-item").remove(); 
    }); 

jedoch dieser Code einen visuellen Fehler erstellen, die Sie in dem folgende Screenshot sehen:

Visual bug screenshot

Und hier ist, wo in dem Code, den ich den Codeblock hinzugefügt Schließen der Autovervollständigung zu handhaben: https://github.com/CUTR-at-USF/usf-mobullity/blob/mobullityrebase/src/client/js/otp/widgets/tripoptions/TripOptionsWidget.js#L294

Ich habe versucht, .ui-menu-item zu .ui-menu oder .ui-autocomplete aber diese geändert deaktiviert die Möglichkeit zu ändern, um die Autovervollständigen-Liste zu öffnen.

Wenn Sie eine Idee haben, warum es diese Überbleibsel der Liste zur automatischen Vervollständigung und wissen, wie man es beheben lassen Sie mich wissen. Ich nehme an, es kommt von .ui-menu-item, aber ich bin mir nicht sicher, und was ich versucht habe, war erfolglos.

+0

Sie rechts das letfover Element klicken und klicken Sie auf Element untersuchen (unter der Annahme, Chrom) und überprüfen Sie die Dokumentstruktur und sehen, was Element verbleibt (könnte ein übergeordnetes Element sein), können Sie Ihre JS-Code ändern möchten, das Element zu entfernen. auch, nur überprüfen, ob Sie es tatsächlich entfernen müssen, oder Sie können es einfach verstecken ... –

+0

Warum dont versuchen Sie Dsiplay keine auf das Element hinzufügen? –

+0

@ redflar3 tat ich so, und das ist, warum ich sage, habe ich versucht, '.ui-menu' und' .ui-autocomplete'. Diese Markierungen sind die, die ich vom Inspektor auf dem verbleibenden Element sehen kann. – user1527152

Antwort

1

Wenn Sie das Element müssen in Zukunft verwendet werden soll, sollten Sie zu hide versuchen, das Element, anstatt es zu entfernen. Auch seit dem Ändern entfernen zu verstecken funktioniert, also diese Antwort nur für den Rekord hinzufügen.

Verwandte Themen