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

Mug*_*ugu 1 html5 windows-8 winjs

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

Dom*_*ton 5

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

你可以做几件事:

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