【问题标题】:jQuery Mobile refreshing a div for web mobilejQuery Mobile 为 web 移动刷新一个 div
【发布时间】: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。
  • 你试过我的解决方案了吗?

标签: jquery mobile refresh


【解决方案1】:

只需使用classes 而不是ids

$('.nav').click(function() {
  $('.menu').toggle(); 
});

&lt;script&gt;..&lt;/script&gt;放在最后一个&lt;/div&gt;http://jsfiddle.net/ouadie/CuGkW/1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-28
    • 2012-03-26
    • 1970-01-01
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    相关资源
    最近更新 更多