Dojo:如何查找小部件是否在 dojo 中具有焦点

标签 dojo focus

如何确定我的自定义小部件是否在 Dojo 中具有焦点

我有 dojo 编辑器,我想知道编辑器是否已经获得焦点?

最佳答案

你可以使用模块 dijit/focus 来找出焦点

来自 DOJO 文档

Tracking active widgets

At any point in time there is a set of (for lack of a better word) “active” or “focused” widgets, meaning the currently focused widget and that widget’s ancestors. “Ancestor” can mean either DOM ancestor (ex: TextBox –> Form), or a logical parent-child relationship (ex: TooltipDialog –> DropDownButton).

For example, if focus is on a TextBox inside a TabContainer inside a TooltipDialog triggered by a DropDownButton, the stack would be TextBox –> ContentPane –> TabContainer –> TooltipDialog –> DropDownButton.

The activeStack[] parameter indicates this set of widgets, and an app can monitor changes to activeStack[] by:

require([ "dijit/focus" ], function(focusUtil){
 focusUtil.watch("activeStack", function(name, oldValue, newValue){
  console.log("Focused widget + ancestors: ", newValue.join(", "));
});
});

关于Dojo:如何查找小部件是否在 dojo 中具有焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16623280/

相关文章:

CSS - 当用户单击标题时显示/隐藏折叠简单导航

javascript - 如何判断页面加载时哪个元素具有焦点?这可能吗?

android - 接下来关注RecyclerView里面的自定义view

android - 自定义 Android 键盘焦点问题

javascript - 如何在 dojo 中使用正则表达式获取元素 ID

javascript - Dojo 中的“解析器返回未填充的 promise ”错误

javascript - 如何获取以声明方式实例化的 dojo 实例?

JAVA FX ScrollPane 不允许请求焦点在一个字段上

可以悬停并单击的 Javascript/CSS 工具提示

javascript - 包定位在 Dojo 中是如何工作的?