Angularjs自动完成键盘导航

时间:2014-12-11 22:15:26

标签: angularjs accessibility

我正在尝试为自动完成功能实现键盘导航。

以下是自动完成的部分实现。

我喜欢和...向下箭头在锚标记上工作,包括subheader。

如果在导航时按下Enter键,则应与锚点击

相同

http://plnkr.co/edit/wXStq02jzO4gfj1F8dKG?p=preview

这种优雅而简单的方法是什么。

 (function(angular) {
  'use strict';
     var myApp = angular.module('spicyApp1', []);

     myApp.controller('SpicyController', ['$scope', function($scope) {
     $scope.searchOneArr = [{
        name: 'FirstName1 LastName1',
        title: 'Title1',
        desc : 'Desc1'
     },{
       name: 'FirstName2 LastName2',
       title: 'Title2',
       desc : 'Desc2'
     }];

     $scope.searchTwoArr = [{
       title : 'google'
     },{
       title : 'yahoo'
     },{
       title : 'msn'
     },{
       title : 'facebook'
     }];
   }]);
  })(window.angular);

1 个答案:

答案 0 :(得分:0)

您目前所采用的方式并不适合所推荐的方式,即您不应将dom操作与控制器混合使用。但假设这是您想要的方式,那么在控制器中添加

$element.bind('keydown', function(e){
  if (e.keyCode !== 13) return;
  var $item = $element.find('.active');
  var link = $item.attr('href');
  window.open(link, '_blank');
})

检查here for example