我正在使用jQuery Mobile在移动网站上工作。 我知道该框架将页面放在缓存中,以便它可以在页面之间进行良好的过渡,减少数据传输等。 但就我而言,这很无聊,因为我认为它无法在页面中执行某些JavaScript。 我会解释:

此页面显示带有日期字段的表单。 当焦点位于该字段上时,我使用mobiscroll使日期选择器出现。

当我提交表单时,如果出现验证错误(我使用codeigniter),服务器将重定向到表单(重新填充字段等。),然后日期选择器将不再起作用。 如果我从JS控制台启动它,它将再次起作用,这使我认为回到表单页面时未重新执行JS代码。

我添加了data-ajax="false"作为表单的属性以使其正常工作(我失去了漂亮的过渡效果,但我不在乎)。 那是最好的解决方案吗?

然后,我寻找了另一种确定的方式,因为缓存机制在其他页面中造成了问题。 所以我发现:

$(document).live("mobileinit", function() {
    $.mobile.ajaxLinksEnabled = false;
});

这应该是完全停用缓存,但事实并非如此。 我尝试删除一些data-ajax="false" ,然后遇到与以前相同的问题。

那么页面缓存机制有什么问题? 为什么$.mobile.ajaxLinksEnabled = false; 工作?

谢谢!

===============>>#1 票数:1 已采纳

我可以得到

$.mobile.ajaxLinksEnabled = false; 

工作,对于我的问题,最好做

$.mobile.ajaxEnabled = false; 

我没有以正确的顺序加载.js文件。 (请参阅mobileinit事件http://jquerymobile.com/demos/1.0/docs/api/globalconfig.html

但是我仍然想知道为什么在每次页面加载之后(或者对于ajax导航系统而言)都没有执行我的脚本。

  ask by Alexis translate from so

未解决问题?本站智能推荐: