首页 > 解决方案 > 当另一个元素具有焦点时,使用 ng-focus 将焦点设置到一个元素

问题描述

我有 angularJS 应用程序。左侧导航栏和右侧内容窗格有两个组件。当我使用选项卡(键盘)转到右侧内容窗格的末尾时,它会将焦点放在浏览器 URL 栏上。但我需要给出选项卡(键盘)焦点到左侧导航栏,或者只需要停止焦点进入 url。

..下面是内容窗格的结尾

<div>
   <ul>                
       <li class="seperater">
                <a href="" ng-focus="navigateToTop();">test navigate </a>               
       </li>
   </ul>
 </div> 

我尝试的是当焦点到达内容页面上的最后一个元素时,调用一个方法'navigateToTop',然后我将焦点设置为左导航。

下面是方法

this.navigateToTop = function () {

        console.log("in navigateToTop");
        $('#left-nav').focus();

    };

但它不起作用,仍然专注于 URL.Pls 帮助..

标签: angularjskeyboardtabindex

解决方案


花了一些时间后,我通过对右侧内容窗格的 html 代码进行一些更改找到了解决方案。

<div>
  <ul>                
     <li class="seperater">
            <a href="" ng-focus="isFocused = true" ng-blur="isFocused = false">
        test navigate </a>               
     </li>
  </ul>
  <div ng-if="navigateToTop(isFocused);"></div>
</div> 

推荐阅读