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