首页 > 解决方案 > 带有 jQ​​uery 的 Asp Mvc 视图

问题描述

我有两个视图,每个视图都包含一个带有 data-action 属性的链接,用于调用名为切换菜单的 jQuery 函数,如下所示:

<div id="hide-menu" class="btn-header pull-right">
        <span>
            <a href="javascript:void(0);" class="toggleMenu" data-action="toggleMenu" title="Collapse Menu")">
                <i class="fa fa-reorder"></i>
            </a>
        </span>
    </div>

jQuery:

toggleMenu: function () {
                        if (!$.root_.hasClass("menu-on-top")) {
                            $('html').toggleClass("hidden-menu-mobile-lock");
                            $.root_.toggleClass("hidden-menu");
                            $.root_.removeClass("minified");
                        } else if ($.root_.hasClass("menu-on-top") && $.root_.hasClass("mobile-view-activated")) {
                            $('html').toggleClass("hidden-menu-mobile-lock");
                            $.root_.toggleClass("hidden-menu");
                            $.root_.removeClass("minified");
                        }
                    }

其中一个视图正确调用了该函数,但另一个没有,这可能是什么原因?

标签: htmljqueryasp.net-mvc

解决方案


事实上,我不知道问题的实际原因,也许正如 Ramesh 在评论中所说的那样是问题所在。我通过将函数放在同一个文档中(而不是在另一个 js 文件中)和元素中解决了这个问题,我使用了 onClick 属性来执行该函数。

<div id="hide-menu" class="btn-header pull-right">
        <span>
            <a href="javascript:void(0);" class="toggleMenu" onclick="toggle()" title="Collapse Menu">
                <i class="fa fa-reorder"></i>
            </a>
        </span>
</div>

<script>
function toggle() {
                        if (!$.root_.hasClass("menu-on-top")) {
                            $('html').toggleClass("hidden-menu-mobile-lock");
                            $.root_.toggleClass("hidden-menu");
                            $.root_.removeClass("minified");
                        } else if ($.root_.hasClass("menu-on-top") && $.root_.hasClass("mobile-view-activated")) {
                            $('html').toggleClass("hidden-menu-mobile-lock");
                            $.root_.toggleClass("hidden-menu");
                            $.root_.removeClass("minified");
                        }
                    }
</script>

推荐阅读