如何防止 jQuery Mobile 在动态注入 html 页面时进行 ajax 调用
我没有使用 ajax 调用,而是创建页面并将其注入到 $.mobile.pageContainer 中。 使用 jQuery 模板动态创建 jQuery Mobile 页面
当我想要访问带有哈希标签的页面(在我的 onReady 函数中生成的标签),jQuery Mobile 尝试进行 ajax 调用。它失败了。当我的 onReady 函数被调用时,我必须检查 url 并调用 $.mobile.changePage() 才能使其显示。
var loc = window.location.href;
var loc = loc.split('#').pop();
if (loc !== "http://lift.pageforest.com/") {
$.mobile.changePage(loc, 'pop', false, true);
}
这一切都很好,但 jQuery Mobile 仍然进行了失败的 ajax 调用,导致向控制台抛出错误,并向用户显示一个大错误 div。
我尝试将 $.mobileinit 函数 ajaxEnabled() 覆盖为 false,因为我永远不会使用 ajax。 http://jquerymobile.com/demos/1.0a3/#docs/ api/globalconfig.html 不幸的是,这造成了一大堆其他问题。
为什么jQuery mobile自动假设我要使用ajax,而我自己的onReady函数中不会生成任何内容?我该如何解决这个问题?
从这里重新发布: http://forum. jquery.com/topic/how-to-disable-automatic-ajax-calls-when-dynamically-creating-pages
Instead of using ajax calls, I create and inject pages into the $.mobile.pageContainer.
Dynamically creating jQuery Mobile pages using jQuery Templates
When I want to access a page with a hash tag (one that is generated in my onReady function), jQuery mobile tries to make an ajax call. It fails. When my onReady function is called, I have to check the url and call $.mobile.changePage() to make it show up.
var loc = window.location.href;
var loc = loc.split('#').pop();
if (loc !== "http://lift.pageforest.com/") {
$.mobile.changePage(loc, 'pop', false, true);
}
That's all fine, but jQuery Mobile has still made a failed ajax call resulting in an error thrown to the console as well as a big error div shown to the user.
I tried overriding the $.mobileinit function ajaxEnabled() to false because I will never use ajax.
http://jquerymobile.com/demos/1.0a3/#docs/api/globalconfig.html
Unfortunately that created a whole bunch of other problems.
Why does jQuery mobile automatically assume that I want to use ajax, and I will not generate any content in my own onReady function? How do I work around this?
Reposted from here:
http://forum.jquery.com/topic/how-to-disable-automatic-ajax-calls-when-dynamically-creating-pages
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以使用 event.preventDefault(); 吗?
http://api.jquery.com/event.preventDefault/
或者如果您设置 rel= “external”和链接中的 JQ 类选择器将阻止默认的内部链接。
Can you use event.preventDefault();?
http://api.jquery.com/event.preventDefault/
Or if you set rel="external" and a JQ class selector in your link it will prevent the default internal linking.