J'ai un champ de texte simple ember.js et j'essaie d'ajouter autofocus puis-je ajouter ceci dans le JavaScript ou est aussi simple qu'un attribut dans le modèle lui-même ? p> p>
4 Réponses :
Autofocus signifiant que nous commençons immédiatement à se concentrer sur la zone de texte? Vous voulez didinsertelement code> pour cela. didInsertElement: function() {
this.$().focus();
}
Il existe également la possibilité d'utiliser l'attribut HTML5 Autofocus sur le champ de texte.
PersonApp.SearchField = Ember.TextField.extend({
attributeBindings: ['autofocus'],
autofocus: 'autofocus'
});
Belle réponse, mais en général, W3schools n'est pas une source vraiment précise. Voir w3fools.com
Mise à jour: strong> Les versions plus récentes de Ember ont maintenant un soutien à cet intégré, vous n'avez donc plus besoin de réouverture de Textfield pour ajouter un attribut. À compter de janvier 2014 (commettre FDFE8495 ), vous pouvez simplement utiliser l'attribut html5 autofocus Dans votre modèle: p> voici un Démonstration simple jsfiddle < /a>. SolutionPrevious Solution: strong> p> Vous pouvez également rouvrir Textfield pour vous permettre de lier l'attribut autofocus: P> < Pré> xxx pré> puis dans votre modèle: p>
Cette réponse n'a pas fonctionné pour moi. Cependant, la réponse ci-dessous par @rit semble fonctionner dans mon cas.
Un peu de note. HTML5 Autofocus ne fonctionne que si vous atterrissez sur cette page de l'extérieur. L'acheminement vers la page à partir d'une autre page de votre WebApp Emberjs WebApp n'activera pas malheureusement l'attribut Autofocus HTML5. (Ember.js 2.0 et plus tôt.)
J'ai enveloppé cette méthode dans un petit paquet de 1 ko pour résoudre ce problème même un peu plus élégamment, directement dans le gabarit, sans autre codage:
<body>
<!-- all the libraries -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.3.0/handlebars.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.2.0/ember.min.js"></script>
<script src="http://rawgithub.com/AndreasPizsa/ember-autofocus/master/dist/ember-autofocus.min.js"></script>
<!-- your template -->
<script type="text/x-handlebars">
Hello, world! {{ input }}
:
: more elements here
:
{{ autofocus }}
</script>
<!-- your app -->
<script>
Ember.Application.create();
</script>
</body>
Ceci est un duplicata de Stackoverflow.com/q/9468061/90741