javascript - 使用 Angular JS 将焦点设置在选项卡上的 Span 上

标签 javascript html angularjs

我的跨度标记具有以下结构,

    <a href="#"> </a>
    <span  class="spanclass" ng-click="clickfunction()">

    </span>
  1. 据说我们需要在span中添加tabindex=-1

  2. 然后焦点设置为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/

相关文章:

javascript - 如果文本输入为空或非则启用/禁用 “select”

javascript - EXTJS4 X模板

javascript - 如何做 Modal Bootstrap 出现在底部

javascript - 如何在js中创建返回 "hidden"数据onclick的按钮,这是用户之前输入的?

javascript - 从 ng-repeat 获取点击的项目

javascript - AngularJS with Rails 无法识别 $scope

javascript - 在不使用 npm 的情况下将 laravel-echo 和 pusher-js 安装为一个简单的 js 文件

javascript - 如何将视频从我的 WebRTC 直接流式传输到 Facebook RTMP 服务器?

html - 如何使用 CSS 修复 3x3 图像 block

angularjs - ionic 自定义模态动画