Ich habe eine Textarea in einem Winkel ui modal, und muss Fokus darauf setzen, wenn das Modal sichtbar gemacht wird, kann nicht im Dokument geladen werden, weil es nur das erste Mal öffnet das Modal funktioniert.Wie setzt man den Fokus auf Textarea innerhalb eines angularen ui Modals jedes Mal, wenn man das Modal öffnet?
Die Modal haben eine Animation zu öffnen, ich brauche den Fokus nach der Animation beendet.
Basierend auf andere Fragen hier recherchiert, habe ich die folgende Anweisung:
.directive('focusMe', ['$timeout', focusMe]);
function focusMe($timeout) {
return function (scope, element) {
scope.$watch(function() {
$timeout(function() {
element[0].focus();
});
});
};
};
Aber diese Richtlinie überprüft immer den Fokus der Textarea. Da mein Modal ein anderes Eingabefeld hat, wenn ich darauf klicke, wird der Fokus wieder auf den Textbereich geändert, der die Direktive verwendet. Wie stelle ich Fokus nur das erste Mal, dass das Modal sichtbar gemacht wird?
UPDATE
Weitere Informationen: Das Problem der immer auf dem Text den Fokus halten wurde in einer Art und Weise gelöst.
Da mein Modal jedoch eine Einblendungsanimation enthält, wird im IE der Fokus oberhalb des Textfelds angezeigt, außerhalb muss ich Timeout für IE verwenden, um den Fokus korrekt einzustellen. Das ist nicht sehr nett. Ein besserer Weg?
mit den neuesten stabilen Versionen 'Autofokus' funktioniert wieder! –