我在查找有关此文档时遇到麻烦。
在Ionic中,菜单具有一些功能,如果您单击背景幕,则该菜单将关闭。因此,基本上单击菜单以外的任何位置,菜单就会消失。我想禁用此功能,以便用户可以与背景下的项目进行交互。
我尝试禁用背景和菜单上的指针事件,但似乎仍会发生这种情况。有什么想法吗?
有趣的发现;菜单关闭功能实际上看起来像是在离子含量上。导致问题:
答案 0 :(得分:0)
这是示例代码,如何在离子应用程序中执行此操作。
import { Platform, MenuController } from 'ionic-angular';
// ... Other code
constructor(menuCtrl: MenuController /* ... other code ...*/)
// ... Other code
let menu = menuCtrl.get();
menu.swipeEnable(false); // Disable drag to open/close
// Override default behaviour of closing the menu on
// content or backdrop click
menu['onBackdropClick'] = () => {
// No-op
};
menu.ionOpen.subscribe(() => {
// When the menu is open ...
// Remove Ionic's CSS rules for menu-content-open class that restricts
// mouse events on ion-nav
menu.getContentElement().classList.remove("menu-content-open");
// Reduce the size of the content pane so that it does not
// overflow off the screen
menu.getContentElement().style.width =
`calc(100% - ${menu.getMenuElement().clientWidth}px)`;
});
menu.ionClose.subscribe(() => {
// When the menu is closed ...
// Restore the size of the content pane
menu.getContentElement().style.width = '';
});
我做了一个stackblitz项目,您可以检查一下。您可以从here.
签出答案 1 :(得分:0)
对我来说,这有所帮助:
ion-menu {
pointer-events: none;
}
ion-menu > * {
pointer-events: all;
}