Ich habe ein einfaches <select></select>
in einem <div>
mit einem ng-show
Attribut, etwas wie:
Wenn ich nun aus irgendeinem Grund auf das select
klicke, um es zu öffnen, wird es blinken, als würde sich die Auswahl wirklich schnell öffnen / schließen. Manchmal blinkt es zweimal, manchmal mehr. Ich habe select
Boxen vorher mit angular verwendet und hatte das nie.
Ich habe herausgefunden, was das verursacht hat. Das vollständige Formular, in dem es passiert, sieht so aus:
%Vor% Wenn das Formular angezeigt wird, wird das erste <input>
(das ausgewählte Optionsfeld) fokussiert, und wenn ich auf <select>
klicke, um es zu öffnen, wird $apply
auftreten (dies ist das Grundverhalten von Angular , nichts benutzerdefiniertes) verursacht die <select>
neu zu kompilieren? Wenn ich irgendwo klicke, dann wird <select>
nicht blinken, oder ich verwische es manuell wie $(':focus').blur();
, dann blinkt es auch nicht.
Hinweis: Das Formular befindet sich in einem Dialog ( ngDialog
), nicht sicher, ob das einen Unterschied macht
Es scheint dieser Fehler zu sein:
Wie in den Kommentaren vorgeschlagen, hat das Festlegen des Übergangs auf "Keine" bei der Auswahl das Problem umgangen, in meinem Fall (mit Bootstrap) mit folgendem:
%Vor%Wenn Sie ohne Bootstrap oder ohne Verwendung der .form-control-Klasse arbeiten, löschen Sie einfach den .form-control-Selektor und stellen Sie sicher, dass nichts anderes die Übergangseigenschaft für ausgewählte Elemente außer Kraft setzt:
%Vor%Tags und Links angularjs