从以下html代码开始
<div ng-repeat="item in list">
<input type="text" class="texter">
</div>
我使用jquery在列出的任何输入上监听按键。
$('.texter').keypress(function(e){
console.log(this);
}
但是什么也没发生。即使
$('input').keypress(function(e){
console.log(this);
}
基本上,我想获取触发按键事件的元素。
是否可以通过jquery来获取它?
请注意,在问之前我已经搜索了答案,但似乎没有一个能满足我的期望。
答案 0 :(得分:1)
为什么要使用jQuery绑定事件侦听器?您可以通过在ng-keypress
内的输入中添加ng-repeat
来正确地使用Angular做到这一点
角度
HTML
<div ng-repeat="item in list">
<input type="text" class="texter" ng-keypress="keypress($event)">
</div>
JS
angular
.module("myApp", [])
.controller('myController', ['$scope', function($scope) {
$scope.list = [1,2,3];
$scope.keypress = function(event){
console.log(event);
}
}]);
如果您坚持使用jQuery处理事件绑定,则应该使用$(document).on('keypress', ...)
$(document).on('keypress', '.texter', function(e){
console.log(e);
});