1

当我单击 jquery 移动驱动网站上的任何内部链接时,它会显示微调器并尝试通过 AJAX 加载页面。我想通过完全重新加载来加载每个页面。我可以通过将此属性添加到所有链接来实现这一点:

data-ajax="false"

但我有很多链接,不想通过手动添加这些链接来弄乱 HTML。有没有一种方法可以在一个地方的 JS 中定义它并影响整个站点的所有链接?

我试过这个但没有运气:

$(document).bind("mobileinit", function(){
    $.extend($.mobile, {
        defaultTransition: 'none',
        ajaxEnabled: false,
        ajaxLinksEnabled: false
    });
});
4

2 回答 2

3

您可以将 data-ajax="false" 添加到包含 div 以影响所有链接。您需要在配置中将 ignoreContentEnabled 设置为 true。如果您有一个包含整个页面的 div,这很方便。

请参阅文档http://jquerymobile.com/demos/1.2.0/docs/pages/page-links.html

“在 1.1 版中,我们添加了对在父容器上使用 data-ajax="false" 的支持,这允许您从 Ajax 导航系统中排除大量链接。这避免了向每个链接添加此属性的需要在容器中。要激活此功能,必须将 $.mobile.ignoreContentEnabled 设置为 true。请在使用和设置此选项之前检查配置默认值。

您还可以将默认设置为不允许任何 ajax 链接,该信息在这里http://jquerymobile.com/demos/1.2.0/docs/api/globalconfig.html见 ajaxEnabled

于 2012-11-19T20:10:44.790 回答
1

你可以把类似的东西$('a').attr('data-ajax', 'false');

于 2012-10-12T15:26:34.003 回答