当用户点击/点击metro应用程序时,不应隐藏flyout

时间:2012-09-20 10:16:03

标签: html5 windows-8 winjs

在我的metro风格应用程序(Windows 8)中,我创建了一个页面叠加层和一个显示消息的弹出窗口。当用户点击页面时,弹出消息将变为隐藏状态。但是,即使用户点击叠加页面,我也想要弹出窗口。我正在使用HTML5和WinJS。 无论如何,我可以使用其他控件实现上述场景,或者当用户点击/点击屏幕时,我可以阻止页面停止对事件作出反应。

1 个答案:

答案 0 :(得分:5)

这并不是真的支持 - Flyout本身没有持久性/粘性/模态的概念。如果你看一下base.js中的代码,你会发现它没有公开任何代码来利用appbar中使用的内置粘性行为(事实证明这是一种弹出式的结果。

您可以做几件事:

  • 将“_sticky: true”传递给弹出窗口的构造函数。例如<div data-win-control="WinJS.UI.Flyout" data-win-options="{ _sticky: true}">
  • 将单击处理程序附加到文档的顶部,如果它位于弹出窗口创建的单击吃div上,则取消该事件
  • 只需在主体中添加一个新div,然后对其进行绝对定位即可创建自己的UI。