【发布时间】:2016-12-12 08:19:15
【问题描述】:
我使用 jQuery Mobile 1.4.5。当我加载页面并立即单击移动菜单切换按钮时,移动菜单会打开。当我更改页面时,当我单击切换按钮时,移动菜单不再打开。
我的导航是这样的:
<div data-role="header">
<div data-role="navbar">
<ul>
<li><a href="{{ url('_my_page_1') }}">Page 1</a></li>
<li><a href="{{ url('_my_page_2') }}">Page 2</a></li>
<li><a href="{{ url('_my_page_3') }}">Page 3</a></li>
</ul>
<a id="toggle-mobile-menu" href="javascript:void(0)" data-role="none">
Toggle mobile menu
</a>
<ul id="mobile-menu">
// ...
</ul>
</div>
</div>
<div data-role="content"></div>
$(function () {
$(document).on('click','#toggle-mobile-menu', function() {
$('#mobile-menu').fadeToggle();
});
});
我需要如何调整我的代码?
【问题讨论】:
-
您的代码看起来不错。您确定此代码对所有页面都可见吗?您是否尝试在此代码上设置断点并检查单击按钮时是否正在调用它?
-
@Medard 是的,我确定。即使我将脚本代码放在我的标题 div 中,移动菜单也只会在我的浏览器中初始页面加载后打开,但在通过导航更改页面后不会打开(请注意:内容通过 ajax 加载,因为它是 jQuery Mobile)。
-
$(document).on("pagecreate", function () { $("menu").off("click").on("click", function() { do something } }); -
@Omar 不幸的是,此代码不起作用。我在内部函数中插入了一个'alert('pagechange')',我注意到在页面更改时它会被触发两次......
-
那么您在所有具有相同 id 的页面中都有相同的按钮?
标签: javascript jquery jquery-mobile