2

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

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

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

在此处输入图像描述

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

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

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

它不会放弃的课程是:

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

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

4

1 回答 1

3

我发现它是什么:

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

有必要禁用按钮,因此简单地添加button.blur()处理程序的解决方案是正确的方法。

于 2012-05-21T18:15:39.043 回答