我试图在我的Angular项目中将keyup事件附加到指令。这是指令:
angular.module('clinicalApp').directive('chatContainer', function() { return { scope: { encounter: '=', count: '=' } templateUrl: 'views/chat.container.html', link: function(scope, elem, attrs) { scope.count = 500; } }; });
这是模板中的html:
<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>
我想chatbox在链接函数中访问并将keyup事件附加到它。我知道我可以用jQuery来获得它,但是那不是Angular的方法。从dom中获取该元素的正确方法是什么?
chatbox
您可以使用Angular’ element‘ find()方法轻松完成此操作:
element
find()
var chatbox = elem.find("textarea"); // Finding chatbox.bind("keyup",function(){ // Binding console.log("KEYUP!") })
实时示例:http://jsfiddle.net/cherniv/S7XdK/