基本上,我想处理哈希监听以及我自己代码中的所有内容,但是我无法让jQM停止监听哈希变化事件,并且通常不会使用URL。我从他们的文档试图代码:如何阻止jQuery Mobile使用window.location执行任何操作?
$(document).bind('mobileinit', function() {
$.extend($.mobile, {
hashListeningEnabled: false,
pushStateEnabled: false,
ajaxEnabled: false,
linkBindingEnabled: false
});
});
的mobileinit事件就都不曾在第一页负载点火虽然(即使它看起来像它应该),这样就不会为我工作。让代码执行的代码是将它放在$(window).bind('load')中,我可以通过$.mobile.hashListeningEnabled === false
验证Firebug控制台中的值是否正确设置 - 但是,它们看起来并不像做任何事!当我在地址栏中输入<mysite>/index.html
时,它会加载我的默认页面,但是如果我输入<mysite>/index.html#anything
它只显示jQM加载微调器并且从不加载任何东西(我推测它是因为它正在寻找文件内有data-role=anything
的页面,是它的默认功能)。此外,pushStateEnabled
覆盖显然无法正常工作,因为如果我运行window.location.hash = /somethingelse.html
,则任何受支持的浏览器中的URL栏将显示http://<mysite>/somethingelse.html
,而不是预期的http://<mysite>/index.html#somethingelse.html
。
基本上,我想要的是jQuery Mobile来处理页面布局和DOM操作,绝对没有别的。这可能吗?
谢谢,这样做!事实证明,它确实表明,在文档中,我想我必须以某种方式掠过它。 – jcsmnt0 2012-07-12 14:44:34
您的欢迎,我花了一段时间才弄清楚了第一个复飞。 – 2012-07-12 15:23:17