【问题标题】:AngularJS: If only enter key pressedAngularJS:如果只按下输入键
【发布时间】:2018-11-30 23:26:09
【问题描述】:

我找到了一个示例如何在按下回车键时触发事件,但问题是如果同时按下任何其他按钮,则会触发此事件。尤其是这个问题与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 键被按下?

【问题讨论】:

标签: javascript angularjs events enter


【解决方案1】:

您可以简单地添加另一个检查,即是否使用event.shiftKey 按下shift 并执行相应操作。类似的东西

if(event.which === 13 && !event.shiftKey) {
scope.$apply(function (){
                    scope.$eval(attrs.ngEnter);
                });
...
}

【讨论】:

  • 是否按下what? ;)
猜你喜欢
  • 2020-05-14
  • 1970-01-01
  • 2010-11-16
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多