【问题标题】:AngularJS Press Key Twice With Different Actions After Each KeypressAngularJS在每次按键后按不同的动作两次按键
【发布时间】:2015-06-16 15:49:02
【问题描述】:

我需要帮助按两次 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.

我怎样才能让第二个动作发生?

【问题讨论】:

    标签: javascript angularjs keypress keydown


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      应该是

       evt.preventDefault();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-12
        • 2015-01-24
        • 2021-10-11
        相关资源
        最近更新 更多