解决magento 2.4.4 手机端上menu无法单击展开

magento 收藏
0 24

由于某些原因,当点击一个菜单项展开它的子菜单时,子菜单打开和关闭事件都被调用了。

这样就不可能保持子菜单打开和导航。

第一种方法:

在mage/menu.js 中_init方法中mediaCheck({})前添加this._toggleDesktopMode()最终如下图


第二种方法:

元素选择器使用.ui-state-active类来确定子菜单是打开还是关闭。

由于某种原因,检查:has(.ui-state-active)始终为true,即使元素实际上没有类。

我只是考虑使用 aria-expanded 属性的值来确定子菜单是关闭还是打开。

在mage/menu.js  _toggleMobileMode方法中

用
var self = this;
if($(event.target).next('.ui-menu').attr('aria-expanded') == 'true') {
    self.collapseAll(event, true);
}代替
this.collapseAll(event, true);最终如下图



    暂时没有人评论