Angular-UI ui-keypress无法正常工作

时间:2012-12-20 18:04:03

标签: keyboard-shortcuts angularjs angular-ui

我甚至无法简单地使用angular-ui启动和运行。我希望能够轻松检测按键,例如,在文本框中按enter后自动添加项目,而无需按“添加”按钮。


这是我目前的尝试:

<!DOCTYPE html>
<html ng-app xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Main</title>
  <link rel="stylesheet", href="http://angular-ui.github.com/angular-ui/build/angular-ui.css" />
</head>
<body ng-controller="Ctrl">
  <button ng-click="add()">Add</button>
  <input type="text" ui-keypress="{enter: 'add()'}" />
  {{item}}
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js">    </script>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.min.js"></script>
  <script src="http://angular-ui.github.com/angular-ui/build/angular-ui.js"></script>
  <script src="main.js"></script>
</body>
</html>

var myApp = angular.module('myApp', ['ui.directives']);

function Ctrl($scope) {
  $scope.item = "";

  $scope.add = function () {
    $scope.item = "Item Added";
  }
}

您可以在此处查看此行为:http://jsfiddle.net/NbjZL/5/。请注意,在键入文本后单击按钮可以正常工作,但在键入文本后按enter则不行。我已经阅读了我可以找到的文档并查看了几个示例,但我确信我仍然缺少一些小东西。

1 个答案:

答案 0 :(得分:7)

Angular ui无法找到角度应用。您需要做的就是在ng-app中指定应用名称以使其正常工作。

<html ng-app="myModule" xmlns="http://www.w3.org/1999/xhtml">

检查js fiddle以查看代码工作