2011-10-31 42 views
1

我在ItemRenderer中使用帶有TextInput的Spark List,用戶可以通過拖動鼠標來重新排列列表行。這是我的聲明的清單:列表drag'n'drop和TextInput焦點優先

<s:List id="list" left="245" top="119" width="667" height="433" 
       dragDrop="insertItem(event)" dragEnabled="true" dragEnter="acceptDrop(event)" dragComplete="finalizeDragAndMove(event)" 
       dragMoveEnabled="true" dropEnabled="true" focusAlpha="0" 
       skinClass="components.DataList_Campaign" 
       hasFocusableChildren="true" /> 

一切工作正常,但它不可能用鼠標選擇TextInput中的文本,而不是它的拖曳行...我如何設置的TextInput有優先於drag'n'drop?

+0

你是什麼意思「其具有優先」? – LoremIpsum

+0

其實我希望能夠用鼠標在TextInput中選擇整個文本,但我不能因爲「優先級」(也許它不是最合適的術語)被賦予列表:我只能拖動行,即使當TextInput有焦點... – jroy

回答

1

在你的TextInput項目渲染剛剛宣佈2周這樣的活動:
<s:TextInput focusIn="outerDocument.list.dragEnabled=false" focusOut="outerDocument.list.dragEnabled=true"/>
希望這將有助於...

+0

不幸的是,似乎outerDocument只存在內聯項目渲染器,而在我的應用程序中並不是這種情況。 – jroy

+0

@jroy在你的情況下,當你的itemrenderer textinput得到焦點時,你必須做你的列表dragEnabled屬性來設置false,然後注意你必須做到真實。只需顯示您的項目渲染器代碼,即可通過調度某些事件來處理它。 –