我有以下指令:
.directive('hasFocus',function(){
return{
restrict: 'A',
link : function(scope,element,attrs){
element.on('keydown',function(e){
switch(e.which){
case 38 :
e.preventDefault();
selectNextButton($(this),true);
break;
case 40 :
e.preventDefault();
selectNextButton($(this));
break;
}
});
}
}
});
当我将它附加到按钮时,这可以正常工作,但是当我附加到锚点时不起作用。
<button id="mybutton" has-focus>the button</button>
<a id="mybutton" data-ng-click="doSomething()" has-focus>the anchor</a>
我希望能够在用户使用方向箭头导航时捕获 e.which 。
是否无法将keydown事件绑定到锚点?
https://api.jquery.com/keydown/声明它可以:
&#34; 当用户第一次按下键盘上的键时,keydown事件将发送到元素。它可以附加到任何元素,但事件仅发送到具有焦点的元素。&#34;