如何完全禁用Jquery mobile

时间:2013-05-11 22:24:10

标签: jquery-mobile

我们遇到Jquery Mobile的以下问题。 我们的网站分为移动和固定桌面网站。 两者都使用相同的数据库和PHP代码。只有模板不同。

在我们的移动网站上,我们使用Jquery mobile获得更好的用户体验,并且工作正常。但是我们集成了一个按钮“转到桌面”。 此链接应该将我们带回我们的“普通”桌面网站 但是有问题。在桌面站点中,Jquery移动设备仍然处于激活状态,它会替换下拉字段,输入字段并使桌面网站完全混乱。

我们尝试了一切来禁用JQM,但似乎没有任何效果。

我们如何在桌面模板上切换移动网站模板并完全禁用JQM?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

可用的解决方案很少,但只有一种解决方案可以做到。

工作示例:http://jsfiddle.net/Gajotres/NvEcW/

很少需要,首先我们需要设置:

<script>
    $(document).on('mobileinit', function () {
        $.mobile.ignoreContentEnabled = true;
    });
</script>

它将使我们能够以编程方式打开/关闭内容增强功能。如果你已经不知道这个 mobileinit 事件必须在jQuery Mobile初始化之前初始化,但是在jQuery初始化之后。这必须始终是页面的一部分。

还有最后一步。当我们想要从移动设备移动到桌面页面时,我们需要重新加载页面并使用此javascript:

$(document).on('pagebeforecreate', '#index', function(){ 
    $(this).attr('data-enhance','false');
});

Pagebeforecreate 事件非常重要,因为此时内容仍未得到增强,属性 data-enhance = false将阻止任何进一步的页面增强。如果要再次打开它,只需将属性值设置为true。

如果您需要更多解决方案,请查看我的其他答案,搜索主题标记增强预防方法 jQuery Mobile: Markup Enhancement of dynamically added content