ZK-Why Zk放弃getFocus()或isFocus()?

时间:2013-07-02 11:15:06

标签: focus zk

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

1 个答案:

答案 0 :(得分:0)

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

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

这就是默认情况下没有getFocus / isFocus方法的原因,因为它们不是组件的“常见”,许多组件无法获得焦点,某些组件使用“默认”焦点(例如,a,文本框)一些组件使用'手工制作'焦点(例如,列表框包含一个dom元素'a'并围绕它进行聚焦)。

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

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