javascript - AngularJS 按两次按键,每次按键后执行不同的操作

标签 javascript angularjs keypress keydown

我需要帮助按两次 Enter 键,并在 AngularJS 中每次按键后发生不同的操作,例如:

  • 按 Enter
  • 发生一个操作
  • 再次按 Enter
  • 发生不同的操作

我可以使第一个操作起作用,但不能使第二个操作起作用。这是我的代码:

  $scope.enterPressed = 0;
  $document.bind('keydown', function (evt) {
    if (evt.which === 13) {
      alert('Enter pressed');
      if ($scope.enterPressed === 0) {
        $scope.enterPressed++;
        document.getElementById("result").innerHTML = "Enter pressed once. $scope.enterPressed is " + $scope.enterPressed;
      } else if ($scope.enterPressed === 1) {
        e.preventDefault();
        document.getElementById("result").innerHTML = "Enter pressed twice. $scope.enterPressed i: " + $scope.enterPressed;
      }
    }
  });

Here's a Plunk .

如何才能发生第二个操作?

最佳答案

您正在使用e.preventDefault();,但e未定义

关于javascript - AngularJS 按两次按键,每次按键后执行不同的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30872387/

相关文章:

javascript - Jquery Ajax 调用 - 成功时的 Bootstrap 警报

javascript - jQuery 模糊事件通过动态内容编辑多次触发

angularjs - Angular 拖放(使用 jQuery UI)- 禁用交换

javascript - 如何在付款时使用 Angular 管理高级帐户?

jquery - iframe 文档上的按键将整个 html 作为目标(不是确切的节点)

javascript - 特定键的 keydown + keyup 事件

javascript - 简单的 Javascript 查找和替换

javascript - 在 Canvas 中随机生成对象,没有重复或重叠

AngularJS v1.3 打破翻译过滤器

javascript - 在 MacO 上禁用 chrome、safari 等 html 输入的自动标点符号