hasFocusableChildren:返回boolean

focusable:返回HTMLElement数组

service的原本类型是LockFocusService

没有任何实现:

再往上看TrapFocusService:

hasFocusableChildren借用了findFocusable方法,判断返回的数组元素是否大于0

这个find Focusable又是TabFocusService实现的:

这个selectFocusUtil又是EscapeFocusService的:

哪些是可以被focus的子元素:


下列这些selector指向的元素是可以focus的:

最后调用host元素的原生query方法查询:

更多Jerry的原创文章,尽在:“汪子熙”:

SAP Spartacus lock focus directive如何判断有没有focusable children相关推荐

  1. SAP Spartacus lock focus Directive的工作原理示意图

    源代码: import {AfterViewInit,Directive,ElementRef,EventEmitter,HostBinding,HostListener,OnInit,Output, ...

  2. SAP Spartacus auto focus Directive响应模型变化的一些触发时机例子

    tabDirective: disableMouseFocus: trapDirective: 这就是我正在工作的auto focus Directive: 更多Jerry的原创文章,尽在:" ...

  3. SAP Spartacus lock directive锁住元素所有子元素及设置FOCUS_GROUP_ATTR的行为

    FOCUS_GROUP_ATTR: data-cx-focus-group: 这个属性是动态添加上去的吗? 如何判断哪个元素应该被focus,在auto-focus.service.ts里的selec ...

  4. SAP Spartacus B2B Popover Directive 和 Popover Component 的生命周期管理

    解析 SAP Spartacus B2B list 实现,即list.component.html时,因为在Component 模板里遇到了[cxPopover]指令,因此触发依赖注入: 首先创建di ...

  5. SAP Spartacus的Lock Focus Directive单元测试实现

    测试用的HTML页面: <div cxLockFocus id="a"><button id="a1"></button>& ...

  6. SAP Spartacus Visible Focus

    https://sap.github.io/spartacus-docs/visible-focus/ In Spartacus, focusable elements are styled with ...

  7. SAP Spartacus PersistFocus Directive是采取怎样的数据结构来存储focus信息的

    自动focus的directive会在ngAfterViewInit里调用不含输入参数的handleFocus: autofocus 的directive AfterViewInit里会handleF ...

  8. SAP Spartacus里几个和Focus相关的directive的继承关系以及元素focus是如何实现的

    cx-table施加的是focus directive: Focusdirective继承自LockFocusdirective: TrapFocusdirective继承自TabFocusdirec ...

  9. SAP Spartacus Popover Directive 构造函数的用途分析

    该构造函数位于文件 popover.directive.ts 里: 第 11 行 cxPopOver Directive 施加到 button 元素上之后,运行时,cxPopOver Directiv ...

最新文章

  1. Linux之vim全选、全部复制、全部删除
  2. [UWP]涨姿势UWP源码——Unit Test
  3. linux下mqm用户下S开头日志,Linux新建用户,切换后只显示$问题
  4. 旋转散点图_聚类分析的结果如何用散点图展示出来?
  5. java 在数组末尾添加元素_Java快问快答:用 ArrayList 还是 LinkedList?
  6. 论文浅尝 | 神经协同推理
  7. python time sleep 阻塞 异步_python 之 并发编程(进程池与线程池、同步异步阻塞非阻塞、线程queue)...
  8. matlab fseek ftell,fseek函数、ftell函数和fflush函数
  9. Leetcode NO.63 Unique Paths II
  10. 完美破解视频VIP?这款APP被判赔5000万
  11. Git拉取远程最新代码,并与当前分支合并
  12. Spark调优之推测执行
  13. 隔空投送教程|如何将文件从iPhone或iPad空投到Mac计算机?
  14. 用计算机弹奏七月上,七月上歌词背后的故事 七月上背景故事介绍
  15. USI环旭电子推出信用卡大小的SiPSet笔记本电脑主板
  16. 花2万多买的Python学习路线、Python视频教程免费分享,持续更新…
  17. 每月明星计划(12 月),ECHO:我们的意见万岁!
  18. 教育行业一般用什么邮箱,教育邮箱推荐
  19. 开启codelite的c++11
  20. 类别(Category)的作用(三)---添加非正式协议

热门文章

  1. Java IO: PipedInputStream
  2. 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
  3. 【HTML5 video】video标签的部分属性解析
  4. Quartz 定时器任务调度
  5. 【原创】RabbitMQ之Queue属性测试
  6. Android\OPhone动画分析之翻转效果
  7. MongoDB索引问题
  8. 如何获得select被选中option的value和text
  9. [转]Laravel与bootstrap-editable实现table的行内编辑
  10. mysql获取当前时间,及其相关操作