Comment accéder à un élément dom dans une directive angulaire
J'essaie d'attacher un événement keyup à une directive dans mon projet angulaire. Voici la directive:
angular.module('clinicalApp').directive('chatContainer', function() {
return {
scope: {
encounter: '=',
count: '='
}
templateUrl: 'views/chat.container.html',
link: function(scope, elem, attrs) {
scope.count = 500;
}
};
});
Et voici le html du modèle:
<div class="span4 chat-container">
<div class="chat-body">
<form accept-charset="UTF-8" action="#" method="POST">
<div class="text-area-container">
<textarea id="chatBox" class="chat-box" rows="2"></textarea>
</div>
<div class="button-container btn-group btn-group-chat">
<input id="comment" class="btn btn-primary btn-small btn-comment disabled" value="Comment" ng-click="addMessage()"/>
</div>
</form>
</div>
</div>
</div>
Je veux accéder au chatbox
dans ma fonction de lien et y attacher l'événement keyup. Je sais que je peux l'obtenir avec jQuery, mais cela ne peut pas être la manière angulaire. Quelle est la bonne façon de saisir cet élément du dom?
25
demandé sur
Jarrod
2013-10-17 18:08:56
2 réponses
, Vous pouvez le faire facilement avec Angulaire' element
' find()
méthode:
var chatbox = elem.find("textarea"); // Finding
chatbox.bind("keyup",function(){ // Binding
console.log("KEYUP!")
})
Exemple En Direct: http://jsfiddle.net/cherniv/S7XdK/
29
répondu
Cherniv
2013-10-17 14:20:45
Vous pouvez utiliser l'élément.find (yourSelector) comme mentionné précédemment, mais il est préférable d'utiliser ngKeyUp, similaire à la façon dont vous utiliseriez ngClick:
3
répondu
haimlit
2014-05-09 14:09:51