当我使用mmenu jquery插件时,它将使所有js事件和脚本调用加倍,头部部分的脚本除外。对此可能的解决方案是什么?任何帮助将不胜感激。

抱歉,我无法向您显示完整的代码,它在工作现场。 Mmenu从正文部分开始:

<script type="text/javascript">
   $(document).ready(function() {
      $("#my-menu").mmenu();
      $("#my-menu").find( ".mm-subopen" ).addClass( "mm-fullsubopen" );
    });
</script>

最佳答案

我在生产应用程序中尝试了mmenu,起初它让我有些头疼,但是了解它的工作原理有助于我正确使用它。


将您的整个布局包装在没有样式的div中(因此网站的样式保持不变)。
将菜单标记放置在布局之外(紧随body标记之后)。
将插件与初始化代码一起添加到标记的末尾。
不要操纵菜单的内部内容来执行操作。改用它的API。


在遵循这些技巧之后,您应该具有如下结构:

<html>
  <head> ... </head>
  <body>
    <nav id="mymenu"> ... </nav>
    <div> <!-- whole website in here -->  </div>
    <script src="js/mmenu.min.js"></script>
    <script>
      $(document).ready(function() {
        var mmenu = $("#mymenu").mmenu();
        // do not use code bellow, use the API instead.
        // $("#my-menu").find( ".mm-subopen" ).addClass( "mm-fullsubopen"       );
        var api = mmenu.API(); // exposes methods to open() and close() the menu
    });
    </script>
  </body>
</html>


希望这些设置对您有用。它在我的Meteor应用中非常适合我。

关于javascript - MMENU jquery插件将所有JS脚本加倍,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32396506/

10-11 08:25