Y a-t-il un moyen de définir la mise au point dans les contrôles d'entrée à l'aide d'angularjs / angular-ui? p>
J'ai vu que l'UI angulaire a une certaine directive JQ-UI = mise au point, mais je ne suis pas en mesure de le faire fonctionner. P>
J'ai quelques dialogues que j'ai affichées à l'aide d'un service de dialogue UI $ UI $ et j'aimerais vraiment que la première entrée de chaque boîte de dialogue soit mise au point une fois qu'il est montré p>
4 Réponses :
La dernière version de angularjs code> offre
ng-focus code>: http://docs.angularjs.org/api/ng/directive/ngfocus p>
ne fonctionne pas pour moi, la valeur passée dans la fonction de surveillance de la directive est juste une chaîne, par exemple. 'FocusInput' pas la valeur évaluée de FocusInput. Quelque chose doit être faux?
Ne fonctionne pas pour moi non plus. Aucune étant jetée, rien ne se passe.
C'est un rappel pour quand un champ est axé sur.
Vous avez raison, j'ai montré des démos sur la façon dont vous pouvez appeler la méthode JQuery.fn.focus> jquery.fn.focus () code> sur un élément DOM, car c'est tout Donc, pour le Modal Ui-Bootstrap, mettez simplement la même expression que vous utilisez à l'intérieur du ui-jq code> fait vraiment. L'astuce consiste à tirer plusieurs fois, et au bon moment. P>
ui-jq code> exécute déjà la méthode pour vous à l'intérieur d'un
$ Timeout code>, cependant, par défaut, il ne tire qu'une seule fois, lorsque l'élément DOM est créé. Afin de faire
ui-jq code> incendie plusieurs fois, ajoutez simplement
ui-rafraîchissement = "SOMExpression" code> et utilisez une expression que vous savoir em> changera chaque fois que le modal ouvre. Il va bien s'il rec soit à la fois lorsque le modal est fermé aussi,
.focus () code> ne fera rien si l'élément DOM n'est pas visible. P>
modal = "SOMEXPRESSPRESSION" code> et vous devez être défini. P>
s'avère que tout ce dont vous avez besoin est de cela si vous l'utilisez si vous l'utilisez avec le service de dialogue UI $ angulaire $: html: p> Comme indiqué, c'est pour le service de dialogue d'UI $ angulaire seulement. P> voir vivre ici: http: // forcetracker .apphb.com (cliquez sur Connexion ou Inscrivez-vous pour afficher les dialogues) P> P>
Comment définir la mise au point sur les boutons de pied de page. Je ne suis vraiment pas capable de le faire .. j'ai besoin de fermer $ dialog.messagebox si la touche Entrée est enfoncée.
Ajouter une balise
Ce lien semble être mort.
Veuillez continuer ce lien, même si je veux savoir comment ajouter le bouton de focataire. Même problème que ce que Saurabh a demandé ci-dessus
FYI fonctionne également avec $ modal code> de service en angulaire qui est ce que
$ dialog code> a été refacturé dans des versions ultérieures de l'interface utilisateur angulaire
Pourquoi la nécessité de $ de délai d'attente?
J'ai utilisé l'attribut standard autofocus code> dans mon modèle et a déclaré une simple directive pour le faire fonctionner pour des éléments créés après la charge de page (comme des boîtes de dialogue dans votre cas).
app.directive('autofocus', function () {
return {
restrict: 'A',
link: function (scope, element) {
element[0].focus();
}
};
});
D'accord. Belle solution simple qui fonctionne bien. Je viens de l'ajouter à un popup Ngdialog et cela fonctionnait parfaitement. Merci!
Noob ici, excuses: qu'est-ce que restreint: 'a' code> faire?
@ Travis-Heeter: Cela signifie que la directive sera utilisée comme un attribut, pas un élément. Voir docs.angularjs.org/guide/directive#directive-Types
Pouvez-vous fournir un jsfiddle?
Vous êtes manquant d'une rafraîchissement de l'UI