嗨:我已经将html输入和选择添加到一个丰富的qx.ui.basic.Label中。我已经正确地向这些html控件添加了事件处理程序。我的问题来自选项卡事件。当我进入html表单控件时,qooxdoo截取了一个tab键,焦点转到下一个qooxdoo控件。我需要在我的标签中保持焦点,准确地说,让浏览器将焦点放在下一个html控件上。在阅读文档时,我尝试过: qx.ui.core.FocusHandler.getInstance().addRoot(label);然后按tab键不会将焦点移出我的标签,但浏览器不会改变标签控件内部的焦点……有什么建议吗?
发布于 2010-10-26 04:38:18
是:使用合适的qooxdoo表单小部件(例如qx.ui.form.SelectBox),并停止滥用qx.ui.basic.Label作为HTML元素的容器。顾名思义,Label小部件就是用来保存或多或少一小段文本的小部件。(这实际上是Daniel的回答)。
编辑(跟随您的评论):
至于解析,我会让浏览器来完成,方法是创建一个document元素,将其innerHtml设置为生成的超文本标记语言,然后使用常用的JS方法遍历生成的DOM树。这应该使解析变得直接向前。
至于渲染,我会编写一个小的DOM解释器,它遍历这棵树,并在此过程中生成qooxdoo小部件。如果你知道你在处理什么(标签,文本框,选择框),这应该不会太难。然后将生成的小部件添加到合适的容器中。
https://stackoverflow.com/questions/4013745
复制相似问题