Hi: I've add html inputs and selects to a rich qx.ui.basic.Label. I`ve added correctly event handlers to these html controls. My problem comes with tab events. When I'm inside the html form controls, a tab keypress is intercepted by qooxdoo and focus go to the next qooxdoo control. I need to keep focus inside my Label, let the browser put the focus on the next html control, to be precise. Reading docs, I've tried: qx.ui.core.FocusHandler.getInstance().addRo开发者_运维百科ot(label); Then the tab keypress don't put focus out of my Label, but browser don't change focus over inside label controls... Any suggestions?
Yes: Use proper qooxdoo form widgets (e.g. qx.ui.form.SelectBox), and stop abusing qx.ui.basic.Label as a container for HTML elements. The Label widget is what the name suggests, a widget to hold a more or less short piece of text. (This was actually Daniel's answer).
EDIT (following your comment):
As for the parsing, I would let the browser do that, by creating a document element, set its innerHtml to the generated HTML, and then just traverse the generated DOM tree with the usual JS methods. That should make parsing straight forward.
As for the rendering, I would then write a small DOM interpreter that traverses this tree, and generates qooxdoo widgets along the way. If you know what you're dealing with (labels, text boxes, select boxes) that shouldn't be too difficult. Then add the generated widgets to a suitable container.
精彩评论