9
votes

Comment utiliser Autofocus avec les modèles Ember.JS?

J'ai un champ de texte simple ember.js et j'essaie d'ajouter autofocus xxx

puis-je ajouter ceci dans le JavaScript ou est aussi simple qu'un attribut dans le modèle lui-même ?


1 commentaires

Ceci est un duplicata de Stackoverflow.com/q/9468061/90741


4 Réponses :


8
votes

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();             
}


0 commentaires

10
votes

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'
});


1 commentaires

Belle réponse, mais en général, W3schools n'est pas une source vraiment précise. Voir w3fools.com




2
votes

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>


0 commentaires