AutoVervollständigen erfordert, dass Sie auf zweimal in iOS nach update 1.11.0
Mithilfe von jQuery 2.1.0 und jQuery.ui 1.11.0 Getestet in iOS 7. iPhone-und iPad-Mini. Funktioniert auf android und regelmäßige Browser.
Das problem
Wir haben vor kurzem ein Upgrade von jQuery UI 1.10.0 auf 1.11.0 und jetzt, beim klicken auf ein Element in eine AutoVervollständigen-Liste Ergebnisse, erhalten Sie nur eine Maus, die Sie haben, um Sie auf das gleiche element wieder um ein click-Ereignis. Dies funktioniert mit version 1.10.0.
(JSFiddle-link in den Kommentaren)
Was nicht funktioniert
mithilfe von css {cursor: pointer}
funktioniert nicht
mit onclick=""
funktioniert nicht
(JSFiddle-link in den Kommentaren)
Der Bizarre Teil
Aber hier kommt der lustige/seltsame Teil. Es funktioniert in JSFiddle Bearbeiten anzeigen, aber nicht auf der JSFiddle "/anzeigen" Seite.
JSFiddles: (Tippen Sie einen Buchstaben, um Ergebnisse anzuzeigen "s" ist ein gutes)
- Html-Ansicht (funktioniert nicht)
- Der Bearbeiten-Ansicht (funktioniert)
Habe ich schon seit Tagen, aber war nicht in der Lage zu reproduzieren, die es in JSFiddle vor der Prüfung nur die html-Ansicht. So, jetzt Wende ich mich an Euch. Ich kann nicht für das Leben von mir herauszufinden, warum die eine Seite löst ein click-Ereignis, und das andere nicht.
Ich bin mit dem meisten basic-Funktion von jQuery-autocomplete. In der Tat, mit den exakt gleichen code, der auf jQuery UI Homepage.
Die Frage
So, wie bekomme ich AutoVervollständigen arbeiten mit einem Klick in iOS auf das /anzeigen der Seite?
(Ich werde weitere links in den Kommentaren, weil ich nicht 10 rep noch. Es sei denn, ich habe nicht genug rep Kommentar...)
Bug-report für dieses Problem: bugs.jqueryui.com/ticket/10544
InformationsquelleAutor Snorre Kim | 2014-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur ein bisschen später, aber
Auch Problem für die Auswahl , Aber es wird keine Datei auf der autocomplete-input, die ich registriert habe, am Anfang. haben Sie eine Idee ?
Funktioniert nicht mit
autoFocus
eingestellttrue
, weil dann immer das erste Element ausgewählt ist, unabhängig von dem, was Sie tatsächlich klicken Sie auf. Sonst guter workaround.Dieser "fix" ist nur zu brechen die Autovervollständigung. Nicht hören, die Antwort.
alle workarounds, die Arbeit, wenn
autoFocus
isttrue
?InformationsquelleAutor onlydimon
Für einige seltsame Grund
@onlydimon's
Antwort hat bei mir nicht funktioniert. Es scheint, wie wir brauchen, Veranstaltungmouseenter
. Folgende Antwort hat gut für mich gearbeitet.Habe ich Hinzugefügt eine Bedingung, um sicherzustellen, dass es nicht zu brechen in anderen Geräten.
menufocus
der übeltäter war auf mein Ende. obwohl ich hatte nur zu rufen, das eine mal, nicht jedes mal, wenn es geöffnet wird. war mit AutoVervollständigen im reagieren, so dass ich einfach dieif
Anweisung incomponentDidMount
und verwendet eineref
zu greifen, die dom-Knoten.$(this.refs.foo.getDOMNode()).autocomplete('widget').off('menufocus')
InformationsquelleAutor Sangram Nandkhile
Gebäude auf onlydimon Lösung:
Ich verengt die Liste der Ereignisse, um nur die jQuery 'mouseenter-event. Die Beseitigung allein dieses behebt den Fehler für mich. Auch, keine Notwendigkeit, es zu entfernen, jedes mal, wenn die Liste geöffnet wird; einmal ist genug.
autoFocus
eingestellttrue
, weil dann immer das erste Element ausgewählt ist, unabhängig von dem, was Sie tatsächlich klicken Sie auf. Sonst guter workaround.Es ist für mich arbeiten. Vielen Dank 🙂
InformationsquelleAutor fvsch
Schrieb einen super fiesen hack, das scheint, den trick zu tun für mich. Hier ist, was ich Tat.
(optional) Versuchen es noch einmal... falls die eingestellte Zeit war nicht lang genug für das element, um die ui-state-focus-Klasse.
Ich hoffe, jemand hat eine schönere Lösung aber!
InformationsquelleAutor Liam Johnston
Dieser arbeitete für mich (arbeiten an drupal 8). Jetzt ein Tippen auf iOS-Geräten redirect auf die suchergebnis-Seite.
InformationsquelleAutor YPatel
Basierend auf
Liam Johnston
Lösung, schrieb ich diesem eine, die für mich arbeiten mit Autofokus auf true gesetzt:InformationsquelleAutor Raphaël Malié
Autocomplete-widget hat einige Bauten in Ereignisse, die Sie hinzufügen können, um Ihren code...
jqueryui
Ich hatte das gleiche problem, und fand schließlich heraus, wie tweek Sie den code und force mobile Geräte zu reagieren, mit einem Klick.
Grundsätzlich für mobile Geräte (iOs) Tippen Sie auf die AutoVervollständigen-Liste 'einmal', es löst die "focus" - Ereignis, wenn Sie auf einmal mehr (2. Klick) liest er die Veranstaltung als "wählen". Also, um zu erzwingen, iOs-Geräte zu wählen, die auf eine auf Sie es zu zwingen, wählen Sie auf der ersten auf.
InformationsquelleAutor andrewbkil
Verwenden fastclick.js es wird dieses problem lösen. Ich weiß, das js wird verwendet zum entfernen Tippen Sie auf 300ms Verzögerung, aber es löste dieses problem, auch für mich.
Laden Sie die minified-version von TradeDoubler (alternativ können Sie Folgen Sie den Anweisungen für die Installation der nicht-minified-version hier)
Schließen Sie die Datei in Ihrem Projekt:
<script src = "js/fastclick.min.js"></script>
Befestigen Sie die TradeDoubler-Objekt, um das Dokument nach FastClick geladen wurde:
var attachFastClick = Origami.fastclick;
attachFastClick(document.Körper);
HINWEIS: Wenn Sie versuchen, mit FastClick die non-minified Weg, ich.e:
Dann verwenden
TradeDoubler.Anhängen(Dokument.Körper);
aber sind einschließlich der minified Datei, die Sie erhalten Fehler (sagen Sie, dass TradeDoubler ist nicht definiert). Wenn Sie mit der minified Datei müssen Sie auf Sie durch Origami.
InformationsquelleAutor Swapnil Man
Lösung von Raphaël Malié ist fast perfekt, aber es braucht evt.preventDefault() für touchend, sonst wird es zu generieren, klicken auf einen link/Schaltfläche, die unter dem angeklickten Element.
InformationsquelleAutor CRK
Im arbeiten mit jQuery UI mit und cordova, und ich habe das gleiche problem in der app, meine Lösung für das problem ist dies:
Diese aufhören, den Fokus auf das ausgewählte Element.
InformationsquelleAutor Jorge Mejia
Dieser code funktioniert mit Autofokus
InformationsquelleAutor cby016