AngularJS按键两次,每个按键后有不同的动作

时间:2015-06-16 15:49:03

标签: 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

如何才能进行第二次行动?

2 个答案:

答案 0 :(得分:2)

您使用的是e.preventDefault();,但e未定义

答案 1 :(得分:0)

应该是

 evt.preventDefault();