2012-08-29 89 views
3

我目前正在使用HTML + Javascript在Windows 8上開發應用程序。 我在我的應用程序中使用了iFrame,並添加了鍵盤事件的keyeventlisteners。windows 8 appbar竊取重點

但是,當我用鼠標右鍵單擊鼠標時,appbar顯示出來,它偷走了我的應用程序的焦點,所以現在所有的鍵盤事件都沒有做任何事情。但是,如果再次右鍵點擊解除應用欄,一切都可以正常工作。

有誰知道如果重點的appbar是由微軟設計的?還是將焦點帶回我的iFrame?

謝謝!

回答

0

這是故意的;這樣用戶就可以使用他們想要顯示應用欄的任何方法,然後使用鍵盤來控制它。驗證行爲的一個好方法是在VS中創建默認的「網格模板」應用程序,並取消註釋Appbar,添加一些額外的按鈕,然後測試行爲。

但是請注意,有一個 appbar和非粘性 appbar之間的預期差異。在不粘連的情況下,焦點需要移動到應用欄,因爲沒有其他方式可以在不引起應用欄解除的情況下使用鍵盤。但是,粘性只能通過使用手勢(右鍵單擊,或win-z或輕掃手勢)消除,因此默認情況下不會將焦點置於其中。

可能您的解決方案是將您的處理程序附加到文檔級別,而不是放在您的IFRAME中,由於兩個上下文之間的消息傳遞的性質,這將變得複雜。