我正在使用jquery.mobile-1.0.1。
我在点击ui-listview中的当前“标签”时尝试重新加载页面:
我已设法跟踪该功能并更改jquery.mobile-1.0.1.js中的源代码以修复此问题,但我想知道是否有办法在不修改jquery的情况下执行此操作移动源。
有问题的功能是:
$.mobile.loadPage = function( url, options ) {
settings = $.extend( {}, $.mobile.loadPage.defaults, options ),
//rest omitted
我可以看到它将默认设置(mobile.loadPage.defaults
)与用户定义的options
您需要通过选项传递reloadPage:true,因为默认值为false。
如果我向上跟随调用堆栈,则逻辑上(为了传递参数)停在
$.mobile.changePage( href, { transition: transition, reverse: reverse, role: role } );
所以我在这里传递了reloadPage:true但是这将修改我试图避免的jquery.mobile-1.0.1.js的源代码。
我是js和jquery的新手,所以不确定是否有一些标准的方法来传递这些选项,因为它看起来就像它的设计方式,或者它可能是这样设计的,供jquery.mobile内部使用和更改来源是唯一的方式。
我想知道是否有一些全局方式设置可用于此功能的参数/选项;似乎奇怪的是,jquery移动家伙似乎会为reloadPage
编写代码,但不会将其暴露给callees。
答案 0 :(得分:0)
我想你可能会对reloadPage的作用感到困惑,当你调用$ .mobile.changePage时你可以传入reloadPage,但这只会重新加载当前页面的缓存副本。
如果你正在寻找的是刷新,你需要告诉jQM不要通过使用data-ajax="false"
或rel =“external”(对于域名链接之外)的链接通过AJAX加载
您是否正在尝试通过编辑jQM文档页面来学习jQM?有问题的链接是:
<a href="docs/about/intro.html" class="ui-link-inherit">Intro to jQuery Mobile</a>
如果您刚刚添加了数据-ajax =“false”,则会在新页面中加载intro.html(完全刷新)。
如果您确实想在此实例中传递reloadPage:true,则需要将href更改为#,然后使用reloadPage绑定一个调用$ .mobile.changePage的处理程序:true作为选项传入,或者只使用onClick属性(不太漂亮)
答案 1 :(得分:0)
我发现最简单的方法是添加:
<script type="text/javascript">
$.mobile.loadPage.defaults.reloadPage = true;
</script>