AngularJS: 如果只按下回车键
AngularJS: If only enter key pressed
我找到了一个例子,如果按下回车键如何触发一个事件,但问题是如果同时按下任何其他按钮,这个事件就会触发。特别是,这个问题与 textarea
有关,当 Shift + Enter
代表垂直扩展输入时。
app.directive('ngEnter', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 13) {
scope.$apply(function (){
scope.$eval(attrs.ngEnter);
});
event.preventDefault();
}
});
};
});
所以问题实际上是如何在仅按下 Enter
键时捕获事件?
您可以简单地添加另一个检查,即是否使用 event.shiftKey
按下 shift
并执行相应操作。像
if(event.which === 13 && !event.shiftKey) {
scope.$apply(function (){
scope.$eval(attrs.ngEnter);
});
...
}
我找到了一个例子,如果按下回车键如何触发一个事件,但问题是如果同时按下任何其他按钮,这个事件就会触发。特别是,这个问题与 textarea
有关,当 Shift + Enter
代表垂直扩展输入时。
app.directive('ngEnter', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 13) {
scope.$apply(function (){
scope.$eval(attrs.ngEnter);
});
event.preventDefault();
}
});
};
});
所以问题实际上是如何在仅按下 Enter
键时捕获事件?
您可以简单地添加另一个检查,即是否使用 event.shiftKey
按下 shift
并执行相应操作。像
if(event.which === 13 && !event.shiftKey) {
scope.$apply(function (){
scope.$eval(attrs.ngEnter);
});
...
}