这是我的理解
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).bind('mobileinit', function () {
$.mobile.ajaxEnabled = false;
$.mobile.hashListeningEnabled = false;
});
</script>
<script type="text/javascript" src="//code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.js"></script>
然后是一些像
的html<div data-role="content">
<span id="lat"></span>
<span id="long"></span>
<ul data-role="listview" data-inset="true">
<li>
<a href="/#nowhere">Check out item one</a>
</li>
</ul>
</div>
<div data-role="page" id="nowhere"></div>
不应导致任何导航。不过确实如此。我真的想禁用哈希监听,以便我自己处理这些事件。
我错过了什么吗?或者这是一个错误吗?
答案 0 :(得分:10)
$.mobile.ajaxEnabled= false;
应该有用,我会调查一下..
否则只需删除href并使用$ .mobile.changePage
手动完成所有操作修改
我做了一些测试,看来你必须切换到RC3,因为这个新选项:
新的linkBindingEnabled选项
jQuery Mobile将自动绑定文档中锚标签的点击次数,即使禁用了AJAX导航功能,我们也可以处理交互状态和其他功能。对于寻找在所有链接上说“手动”的简单方法的人来说,将新的linkBindingEnabled全局配置选项设置为false将阻止所有锚点击处理,包括添加活动按钮状态和备用链接模糊。这只应在尝试将点击管理委托给另一个库或自定义代码时使用。
$(document).bind('mobileinit', function () {
$.mobile.hashListeningEnabled = false;
$.mobile.linkBindingEnabled = false;
});
这对我有用!