html - 带有 jQuery 的 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");
}
}
其中一个视图正确调用了该函数,但另一个没有,这可能是什么原因?
解决方案
事实上,我不知道问题的实际原因,也许正如 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>
推荐阅读
- localhost - 无法在 WKWebView 中加载 ssl localhost
- django - Django 中的非脚本对象是什么?
- amazon-ec2 - 在 Amazon Instance Libreoffice PDF 转换命令不起作用
- javascript - 将 window.location.href 存储在 const 中进行多次比较或直接检查是否更快?
- mongodb - $elemMatch 用于过滤 mongodb 中的引用($ref)数组对象不起作用
- c++ - c++中const引用和按值传递的区别?
- android - 从外部库中排除单元测试
- php - 在 Controller 中渲染 Twig 模板 - Slim 4 Framework
- python - 没有这样的列 sqlite selectquery
- python - 在python中读取二进制数据文件进行分析