95 votes

dans angularjs comment accéder à l'élément qui a déclenché l'événement ?

J'utilise à la fois Bootstrap et AngularJS dans mon application web. J'ai quelques difficultés à faire fonctionner les deux ensemble.

J'ai un élément, qui a l'attribut data-provide="typeahead"

<input id="searchText" ng-model="searchText" type="text"
       class="input-medium search-query" placeholder="title"
       data-provide="typeahead" ng-change="updateTypeahead()" />

Et je veux mettre à jour le data-source lorsque l'utilisateur saisit des données dans le champ. La fonction updateTypeahead est déclenché correctement, mais je n'ai pas accès à l'élément qui a déclenché l'événement, à moins que j'utilise la fonction $('#searchText') C'est la méthode jQuery, pas la méthode AngularJS.

Quel est le meilleur moyen de faire fonctionner AngularJS avec un module JS de style ancien ?

0voto

Telvin Nguyen Points 1758

Je ne sais pas quelle version vous avez eue, mais cette question a été posée il y a longtemps. Actuellement, avec Angular 1.5, je peux utiliser la fonction ng-keypress et debounce de la fonction Lodash pour émuler un comportement similaire à celui de ng-change pour que je puisse capturer l'événement

<input type="text" ng-keypress="edit($event)" ng-model="myModel">

$scope.edit = _.debounce(function ($event) { console.log("$event", $event) }, 800)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X