AngularJS Keypress 键码指令
AngularJS Keypress Keycode Directive
我正在尝试在按下 Escape 键时将 AngularJS 指令写入 运行 函数:
HTML
<input type="text" custom-keypress="consoleLog()">
JS
var app = angular.module('app', []);
app.controller('appCtrl', function($scope) {
$scope.consoleLog = function () {
console.log('works')
}
});
app.directive('customKeypress', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 27) {
scope.$apply(function (){
scope.$eval(attrs.ngEnter);
});
event.preventDefault();
}
});
};
});
不幸的是,当我按下退出键时没有任何反应。
知道我做错了什么吗?
它不起作用,因为您没有 ng-enter
属性。应该是:
scope.$eval(attrs.customKeypress);
您在 $eval
调用中定位了错误的属性值。分叉和固定 - http://plnkr.co/edit/0fsKoHAAgTvl4l2z8SfJ?p=preview
应该是:scope.$eval(attrs.customKeypress);
我正在尝试在按下 Escape 键时将 AngularJS 指令写入 运行 函数:
HTML
<input type="text" custom-keypress="consoleLog()">
JS
var app = angular.module('app', []);
app.controller('appCtrl', function($scope) {
$scope.consoleLog = function () {
console.log('works')
}
});
app.directive('customKeypress', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 27) {
scope.$apply(function (){
scope.$eval(attrs.ngEnter);
});
event.preventDefault();
}
});
};
});
不幸的是,当我按下退出键时没有任何反应。
知道我做错了什么吗?
它不起作用,因为您没有 ng-enter
属性。应该是:
scope.$eval(attrs.customKeypress);
您在 $eval
调用中定位了错误的属性值。分叉和固定 - http://plnkr.co/edit/0fsKoHAAgTvl4l2z8SfJ?p=preview
应该是:scope.$eval(attrs.customKeypress);