2009-11-11 89 views
0

我有一個dojo.dnd.Source容器與多個dnd項目。我想讓用戶選擇來源中的一個dnd項目,然後使用他們的向前/向後鍵導航到源中的其他項目。我已經嘗試在dnd物品上設置onkeyup/onkeydown處理程序,但它們似乎沒有啓動。我也嘗試在dnd源容器上設置關鍵處理程序,但在那裏也沒有運氣。道場拖放和鍵處理程序

關於這是否可能的任何想法 - 如果是這樣,我應該在什麼dom節點上附加我的keyup/keydown監聽器?

感謝

肖恩

PS - 在Adobe AIR應用程序使用Dojo 1.3。

回答

0

在一般情況下,鍵盤事件不像鼠標事件那樣具有位置特定性,而是針對焦點節點,如單選按鈕或文本框。我懷疑你沒有表單節點。您可以隨時嘗試自己模擬它,但Dojo DnD不支持開箱即用。

+0

感謝尤金, @nicrizzo促使我將一個keyup處理程序附加到dojo.doc並從那裏取出。我嘗試了這一點,並着眼於在Selector.js中生成傳入onMouseDown的事件,但事實證明這有點困難。我最終看着Selector.js中的selectAll函數函數,並能夠想出一些邏輯,我可以將我想要標記的節點的id傳遞給_addItemClass。這似乎工作正常。您如何看待Selector.js中的API,它接受要標記爲選定的domNode或id? – seanoshea 2009-11-14 02:34:24

+0

這樣會很好,但它應該作爲插件來實現,所以無論誰需要它,應該只是「dojo.require」它。簽署一份CLA,打開增強權證並附上補丁。 – 2009-11-14 04:30:57

+0

嘿尤金, 給你建議一個嘗試 - 如果你認爲API是有用的,代碼是堅實的,我會繼續並填寫一個CLA,並打開增強票。 乾杯 肖恩 – seanoshea 2010-01-10 05:47:47