jQuery mmenu 从菜单结构外部打开子菜单
Posted
技术标签:
【中文标题】jQuery mmenu 从菜单结构外部打开子菜单【英文标题】:jQuery mmenu open submenu from outside the menu structure 【发布时间】:2018-09-23 13:15:30 【问题描述】:我正在尝试找出一种从 mmenu 结构外部触发子菜单的方法。
使用直接引用 mmenu id 的链接打开子菜单不起作用:
<div class="content">
<a href="#mm-2">Open submenu from here</a>
</div>
http://jsfiddle.net/9FdXv/40/
【问题讨论】:
请尽量在您的帖子中添加尽可能多的信息,以避免依赖外部链接。 【参考方案1】:将 ID external
或您喜欢的任何内容添加到外部锚点。还要在ul
中添加一个ID,构成您的“80% werken”菜单。 (在这个例子中,我使用了80_sub
)。现在将以下内容添加到您的 js 脚本中:
$('#external').click(function(ev)
ev.preventDefault(); //Avoid mmenu to get the click and close
var api = $("#my-menu").data( "mmenu" );
api.openPanel( $("#80_sub") );
);
我们正在使用API 手动操作菜单。
编辑:Working example based on your fiddle。
【讨论】:
感谢@GSystemGlitch 效果很好,但内容 div 是动态加载的,如果我在内容页面中添加锚点,您的解决方案将不起作用。我应该如何让它发挥作用? 见this question【参考方案2】:检查这个小提琴动态打开菜单。我已经触发了菜单的用户触发事件。
您可以将菜单的 id 添加为 data-href
在标签中,如下所示
<a href="javascript:void(0);" data-href="#mm-2" class="open-dynamic"><span>Open the submenu "80% werken" from here</span></a>
您可以通过在a标签中添加不同的id来生成所有菜单的外部链接。
以下脚本可用于打开菜单。
$(document).on("click", ".open-dynamic", function ()
$(document).find("[href='" + $(this).attr("data-href") + "']").trigger("click");
);
Check This fiddle
【讨论】:
以上是关于jQuery mmenu 从菜单结构外部打开子菜单的主要内容,如果未能解决你的问题,请参考以下文章