我有一个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