mmenu菜单系统无法在.Net表单标签内工作

我目前正在寻求在我们的Asp.Net网站上实现移动菜单系统mmenu ( http://mmenu.frebsite.nl/ )。

只要它在表单标记之外,就可以在HTML页面和主页面中很好地工作。 当我把它放在表单标签中时它不再有效。

这是菜单的HTML:

 

运行得很好:

  $(function () { $('nav#menu').mmenu({ zposition: "next", position: "top" }); });  

但是如果我把它放在表单标签(表单id =“MainForm”runat =“server”)中,我会得到一个jquery错误。 需要在一些菜单项中来自数据库。

干杯西蒙

Mmenu在初始化时会做两件事。 首先,它用

容器包装的innerHTML,然后它切断菜单的

并在和新页面容器之间移动它们DOM。

无论出于何种原因,它将ASP.Net包装

标签视为标签,但仅当它出现在的第一个子 。 在这种情况下,它会在结束

标记之后立即插入它的包装

如果你用一个空的

包装ASP.Net

标签,mmenu将能够正确地定位它的

并且一切都神奇地起作用。

您希望您的代码aspx页面如下所示:

  
...

空div包装体对我不起作用。 我在GitHub上发现了一篇很棒的post:

 $('#search-copy').mmenu({ // options }, { // config offCanvas: { menuWrapperSelector: "#aspnetForm", pageNodetype: "form", pageSelector: "body > form" } }); 

这是原帖:

https://github.com/FrDH/jQuery.mmenu/issues/426

您可能需要使用选择器。 我最终使用了pageSelector的ID和menuWrapperSelector的通用选择器。

使用mmenu,我发现有很多隐藏的配置和选项设置。 有些是在mmenu文档中,有些是在OffCanvas文档中。 似乎配置/选项设置将完成您想要的任何事情而无需编写大量自定义CSS。