【发布时间】:2013-01-08 11:23:32
【问题描述】:
如何刷新 jqm 中的 div?我的问题是我在切换显示/隐藏上有一个 div(#menu)。这很好用,但是当我浏览页面时,切换脚本被禁用。我必须刷新它所在的页面或禁用所有页面的 ajax。
我已经阅读了具有类似问题的帖子并尝试了 listview('refresh') 之类的解决方案,但似乎没有任何效果。
这是我的代码。非常感谢。
<div data-role="page" id="page1">
<div data-role="header">
<h1>Page 1</h1>
</div>
<div data-role="content">
<!-- TOGGLE -->
<div data-role="navbar" data-grid="a" id="menu">
<ul>
<li><a href="#">News</a></li>
<li><a href="#">Items</a></li>
</ul>
</div>
<!-- /TOGGLE -->
<a href="#" data-role="button" id="nav">open menu</a>
</div>
<div data-role="footer">
footer content
</div>
<script>
$('#nav').click(function() {
$('#menu').toggle();
});
</script>
</div>
【问题讨论】:
-
您是否尝试过使用
.on("click", function(){})而不是.click(function(){})委派活动? -
刚刚试了一下,在导航到另一个页面时仍然禁用。
-
您的所有活动都是通过 AJAX 完成的?如果是这样,这很 hacky,但您可以将其放入这些事件的回调中:
$("#nav").unbind("click").on("click", function(){ .... })。这应该清除所有点击事件,然后将其重新绑定到您的导航。 -
感谢您的帮助,但这似乎也不起作用。我想我可以为每个页面的 click 函数应用一个不同的 id。
-
你试过我的解决方案了吗?