2010-10-25 89 views
1

嗨: 我已经添加html输入并选择到一个丰富的qx.ui.basic.Label。我已经正确添加了这些html控件的事件处理程序。我的问题伴随着标签事件。 当我在html表单控件中时,qooxdoo拦截了一个tab键,并将焦点转到下一个qooxdoo控件。我需要将注意力集中在我的标签中,让浏览器把精力放在下一个html控件上。我尝试过: qx.ui.core.FocusHandler.getInstance()。addRoot(label); 然后,tab键不要把焦点放在我的标签,但浏览器不会改变内部标签控件的焦点... 有什么建议吗?qooxdoo标签问题

+0

您能否提供一个简短的例子来重现此问题? – 2010-10-25 12:17:34

回答

1

是:使用合适的qooxdoo表单小部件(例如qx.ui.form.SelectBox),并停止滥用qx.ui.basic.Label作为HTML元素的容器。标签小部件就是名字所暗示的,一个小部件可以包含或多或少的短文本。 (这实际上是丹尼尔的回答)。

EDIT(以下您的评论):

至于解析,我将让浏览器做到这一点,通过创建一个文档元素,它的innerHTML设置生成的HTML,然后就遍历生成的DOM树与通常的JS方法一样。这应该使解析直接。至于渲染,我会写一个遍历这棵树的小型DOM解释器,并且沿途生成qooxdoo小部件。如果你知道你在处理什么(标签,文本框,选择框),那应该不会太难。然后将生成的小部件添加到合适的容器中。

+0

这是我第一次尝试。我在用户生成的html上工作,尽可能一般,我必须解析,找到所需的用户输入并将它们转换为文本框并进行选择。当我尝试在几个标签和选择框上打破用户html时,我在html解析(标签标签)方面遇到了很多问题,每个单独的标签都是一团糟。所以我试图把所有的用户html都放在一个丰富的标签中,并且只需要在标准的html控件上转换每个用户所需的输入(下划线)。任何其他建议? – 2010-10-28 07:53:37