您好: 我添加了html输入并选择了一个丰富的qx.ui.basic.Label。我已经正确地为这些html控件添加了事件处理程序。我的问题来自标签事件。 当我在html表单控件中时,qooxdoo截取tab键按压,焦点转到下一个qooxdoo控件。我需要将焦点保持在我的标签内,让浏览器将焦点放在下一个html控件上,确切地说。 阅读文档,我试过: 。qx.ui.core.FocusHandler.getInstance()addRoot(标签); 然后tab键按压不会将焦点从我的Label中移出,但浏览器不会将焦点更改为标签控件内... 有什么建议吗?
答案 0 :(得分:1)
是:使用正确的qooxdoo表单小部件(例如qx.ui.form.SelectBox),并停止滥用qx.ui.basic.Label作为HTML元素的容器。 Label小部件就是名称所暗示的,一个用于保存或多或少短文本的小部件。 (这实际上是丹尼尔的回答)。
编辑(发表评论后):
至于解析,我会让浏览器这样做,通过创建一个文档元素,将其innerHtml设置为生成的HTML,然后使用通常的JS方法遍历生成的DOM树。这应该可以直接解析。
至于渲染,我会编写一个遍历此树的小型DOM解释器,并在此过程中生成qooxdoo小部件。如果你知道你正在处理什么(标签,文本框,选择框),这不应该太困难。然后将生成的小部件添加到合适的容器中。