我的跨度标记具有以下结构,
<a href="#"> </a>
<span class="spanclass" ng-click="clickfunction()">
</span>
据说我们需要在span中添加tabindex=-1
然后将焦点设置为span元素。
最初我想在 anchor 标记的 ng-blur 上,我可以调用一个可以设置焦点的函数,如下所示
$('.spanclass').attr("tabIndex", -1).focus();
然后我能够集中注意力,但是,当我按 Enter 时,ng-click 不会被调用,如果我直接单击,就会发生这种情况。此外,在这里我混合了 Angular js 和 jquery,这可能不正确。
我可以知道如何使用 Angular js 以及在什么事件上实现上述两个步骤。
谢谢, 巴拉吉
最佳答案
正如其他答案中提到的,更改为按钮是最有意义的。
如果您必须使用 span 元素,那么您可以添加一个指令来在 Enter 按键上执行功能,如下所示:How to use a keypress event in AngularJS?
Javascript:
app.directive('ngEnter', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if(event.which === 13) {
scope.$apply(function (){
scope.$eval(attrs.ngEnter);
});
event.preventDefault();
}
});
};
});
HTML:
<div ng-app="" ng-controller="MainCtrl">
<input type="text" ng-enter="doSomething()">
</div>
关于javascript - 使用 Angular JS 将焦点设置在选项卡上的 Span 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31610201/