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