我们如何在div中使用ng-keypress?

时间:2015-09-02 14:01:00

标签: angularjs

我想将ng-keypress用于div。但以下情况不起作用:

Html

<div ng-keypress="myFunction($event)></div>. 

Javascript

$scope.myFunction = function(keyEvent) {
  if (keyEvent.which === 13)
    alert('I am an alert');
}

2 个答案:

答案 0 :(得分:1)

尝试为该div添加tabindex =“1”。希望它能运作

答案 1 :(得分:0)

我知道它已经很长时间了,但我对div的按键没有任何问题。只要div具有焦点。它的tabindex="0"属性允许它接收焦点,从而获得关键的新闻事件。

在此示例中,您必须首先单击(或选项卡到,如果需要){} {},然后才能收到密钥。您可以在代码中以编程方式轻松完成此操作。

示例代码

div

您没有获得<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.js"></script> <style> .box { background-color: blue; width: 500px; height: 500px; } </style> </head> <body ng-app='app' ng-controller="ctrl"> <div class="box" ng-keypress="key($event)" tabindex="0"></div> </body> <script> angular .module('app', []) .controller('ctrl', ['$scope', function($scope){ $scope.key = ($event) => { console.log('got key ' + $event.code); } }]); </script> </html> 的所有密钥(例如箭头键),但如果您使用ng-keypress,您也会获得这些密钥。