0

我试图获取 Window 是否集中,所以我通过了 Window 类的可用方法,没有得到任何getFocus();方法isFocus();。ZK有什么理由放弃这种方法吗?只有focus()void 类型的方法。我有一个复杂的问题,在我的应用程序单页中有两部分左侧包含a.zul和右侧部分b.zul 并有选项卡。如果关注a.zul然后在A.Java类上触发事件并且当关注b.zul然后在B.Java中触发事件时,我必须触发类似这样的CTRL键事件班级。但是由于我无法集中注意力,所以现在很难确定哪个窗口或 zul 是焦点?任何人都知道这个问题的任何其他解决方案吗?

4

1 回答 1

0

很多元素(dom 级元素)无法获得焦点,例如 div、span、ul/li、table、tr、td、...等

还有很多小部件(ZK 小部件)无法接收(并且不处理)焦点,例如窗口、div、标签、网格等

这就是为什么默认情况下没有 getFocus/isFocus 方法的原因,因为它们对于组件来说不是那么“常见”,许多组件无法接收焦点,一些组件使用“默认”焦点(例如,a,文本框)和一些组件使用“手工制作”焦点(例如,列表框包含一个 dom 元素“a”并围绕它播放以获得焦点)。

您可以尝试在服务器端侦听 onFocus 事件或 onClick 事件以了解哪个组件被聚焦/单击(选择),或覆盖小部件的 doFocus_(evt) 方法并在客户端记录聚焦的小部件以进行进一步处理。

但是为什么需要手动触发 onCtrlKey 事件呢?默认情况下,它将自动从客户端触发到服务器。

于 2013-07-02T14:03:25.537 回答