我有一個SproutCore窗格 - 一個PalettePane,具體來說 - 它包含綁定到屏幕上其他任何對象的窗體。該窗格造成對象刪除交互的麻煩。我想它的工作方式是:捕獲SproutCore中的刪除/退格鍵
- 如果一個文本輸入框的重點是,退格/刪除鍵應適用於這些領域(即編輯文本)
- 如果沒有文本輸入字段具有焦點,退格鍵/刪除鍵應該刪除與表單相關的選定對象。 (當用戶選擇的對象,所以如果存在窗格中有一個選擇的對象出現窗格。)
到目前爲止,我得到這些行爲的一個或另一個,不可能兼顧。如果我在窗格中設置了acceptsKeyPane: YES
,我會將退格鍵/刪除鍵應用於文本字段,但在文本字段沒有焦點時不會刪除所選對象。如果我使用acceptsKeyPane: NO
,當我編輯文本字段並按退格鍵時,它會刪除我正在嘗試編輯的對象。
要在Firefox中使用acceptsKeyPane: YES
添加侮辱性傷害,瀏覽器會捕獲退格鍵,並將其解釋爲後退按鈕單擊,這會讓用戶感到沮喪。
我看過root_responder.js
代碼,它看起來像SproutCore以不同的方式處理Firefox的後退空間,但如果我可以像上面描述的那樣處理它們,FF和其他瀏覽器之間的區別應該是沒有意義的。
ETA 2011年5月:記住在閱讀這裏的答案時,SproutCore API對於1.5,1.6和更高版本可能與此不一樣。
請考慮查看郵件列表[email protected]或IRC頻道#sproutcore。 (如果我能夠提出一個建議,我也會在這裏回答。) – 2010-09-15 22:18:41
謝謝,彼得 - 我在IRC頻道問這個問題,並聽取了蟋蟀的唧唧聲。郵件列表僅在昨天開始,不是嗎? – pjmorse 2010-09-16 12:34:01