我在网格面板的底部工具栏中有一些按钮,用于控制在行编辑网格中添加和删除记录。

处理程序非常简单:“新建”按钮创建模型的实例,附加到网格,然后在新行上打开行编辑器;“编辑”按钮仅打开所选行的行编辑器;“删除”从存储中销毁记录并刷新网格视图。

由于某种原因,这些按钮不会失去焦点类,当它们获得焦点时,焦点类会为它们提供边框。这是一张图片:

enter image description here

在图中,“新建”按钮和“删除”按钮都有焦点类,当我按下“编辑”按钮时,即使在完成完整的行编辑操作并关闭行编辑器之后,它也会保留焦点类。

我确实发现,当我将鼠标放在这些永久“聚焦”按钮之一上,然后将鼠标移开它,然后单击其他内容时,焦点类就会消失。

我知道我可以在各自的控制器中为所有按钮组件放置一个模糊处理程序,但我认为此功能是内置的,所以我要求查看文档中是否有我遗漏的内容。

它不会放弃的类是:

x-focus x-btn-focus x-btn-default-toolbar-small-focus

这是 Windows 7 上 FF10 中的 ExtJS 4.1.0。但我确实注意到 ExtJS 4.02 和 4.07 中有类似的行为,只是直到现在才需要处理它。

有帮助吗?

解决方案

我发现那是什么:

在每个按钮的处理程序链中的某个时刻,按钮会被禁用。当 ExtJS 中禁用按钮时,它会阻止 blur 射击事件。

有必要禁用按钮,因此解决方案只需添加 button.blur() 在处理程序中是执行此操作的正确方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top