父子事件监听器

时间:2018-07-27 12:42:10

标签: javascript jquery angularjs inspinia

我正在创建一个使用引导程序,jquery和inspinia模板的网页。

我分别使用3个文件 index.html-我将所有脚本导入的位置

<body ng-controller="MainCtrl" class="">

    <div id="wrapper">
        <div ng-include="'/app/components/navigation/navigation.html'"></div>
        <div ng-include="'/app/components/header and footer/headerFooter.html'"></div>
    </div>
</body>

<!-- JS -->
<script type="text/javascript" src="./assets/node_modules/jquery/dist/jquery.js"></script>
<script src="./assets/js/inspinia.js"></script>

<script type="text/javascript" src="./assets/node_modules/angular/angular.js"></script>
<script type="text/javascript" src="./assets/node_modules/bootstrap/dist/js/bootstrap.js"></script>

navigation.html-我的侧边栏就位 headerFooter.html-侧边栏切换按钮位于何处

inspinia.js-事件侦听器所在的位置

$('.navbar-minimalize').on("click", function (event) {
    $("body").toggleClass("mini-navbar");
    SmoothlyMenu();

});

问题是,为什么每当我按下按钮时,侧边栏就不会变成迷你导航栏(类不适用)是这种设置。

但是如果所有div元素都在索引中并且未使用ng-include,则按钮将正确切换。

顺便说一句:我正在使用bootstrap 3.xx

1 个答案:

答案 0 :(得分:1)

更改:

$('.navbar-minimalize').on('click, function() {});

收件人:

$('body').on('click', '.navbar-minimalize', function() {});

Angular在运行时插入HTML,因此您的jQuery代码在启动时就不了解DOM。