【问题标题】:windows 8 appbar steals focuswindows 8 appbar 抢焦点
【发布时间】:2012-08-24 15:07:42
【问题描述】:

我目前正在使用 HTML+Javascript 在 Windows 8 上开发应用程序。 我在我的应用程序中使用 iFrame,并为键盘事件添加了 keyeventlisteners。

但是,当我右键单击鼠标时,appbar 会出现,它会偷走我的应用程序的焦点,所以现在所有的键盘事件都没有做任何事情。但是,如果再次右键单击以关闭应用栏,一切都会再次正常。

有谁知道有焦点的应用栏是否是微软设计的?还是将焦点带回我的 iFrame 的一种方式?

谢谢!

【问题讨论】:

    标签: javascript windows-8 microsoft-metro


    【解决方案1】:

    这是故意的;这样用户就可以使用他们想要显示应用栏的任何方法,然后使用键盘来控制它。验证行为的一个好方法是在 VS 中创建默认的“网格模板”应用,并取消注释 Appbar,添加一些额外的按钮,然后测试行为。

    但是,请注意,粘性 应用栏和非粘性 应用栏之间的期望有所不同。在非粘性的情况下,需要将焦点移动到应用栏,因为没有其他方法可以在不导致应用栏关闭的情况下(使用键盘时)。然而,对于sticky,它只能通过使用手势(右键单击,或win-z,或轻扫触摸)来解除,默认情况下不将焦点放在它是可以的。

    您的解决方案可能是在文档级别而不是在 IFRAME 中附加您的偶数处理程序,由于两个上下文之间消息传递的性质,这会很复杂。

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 2011-03-07
      • 1970-01-01
      • 2015-09-16
      • 2010-09-20
      • 2012-12-28
      • 2012-11-22
      • 1970-01-01
      • 2012-08-11
      相关资源
      最近更新 更多