我已经用jQuery手机创建了一个web应用程序,并包含了一个使用Cloudmade的地图。地图具有从数据库中的坐标生成的标记。每个标记都是对项目的描述,以及单击该标记时在弹出窗口中显示的链接。所有这些都运行得很好。该链接访问php文件,该文件从数据库请求关于该项目的更多信息。
我遇到的问题是,当单击弹出窗口中的链接时,而不是使用jQuery转换来显示包含更多信息的页面,而是强制浏览器打开并在其中显示内容。
我认为在ajax移动端看到链接并在点击时应用jQuery加载和转换时会有一些问题。
有没有人知道这是否可能,以及需要做些什么才能让它正常工作?
发布于 2012-01-24 08:25:28
巴里,
您需要做的是包含一个指向目标jQuery移动链接的'#‘链接。例如,如果您有一个名为infoPage的JQM页面,如下所示:
<div data-role="page" id="infoPage" data-add-back-btn="true">
<header data-role="header" data-theme="c">
<h1>Video tests</h1>
</header>
<div data-role="content">
This is where more info would appear...
</div>
</div>然后,您可以像这样创建标记:
var popup = new L.Popup();
popup.setLatLng( e.latlng );
popup.setContent( "More <a href='#infoPage'>info</a> here." );
map.openPopup( popup );注意href='#infoPage‘-这是标准的JQM切换页面的方式。希望这能帮你解决这个问题(我刚刚在这里试过了,它很管用)
...and以防你将你的应用程序作为PhoneGap应用程序而不是纯web应用程序运行,点击一个链接可能会导致PhoneGap在浏览器中启动内容,而不是停留在自己的web视图中。这个问题在其他地方得到了回答:
Links in remote JQueryMobile sites in a PhoneGap app open safari
What controls whether PhoneGap opens an external browser / Safari?
http://forum.jquery.com/topic/phonegap-jquerymobile-ajax-links-opening-in-browser-window
发布于 2012-01-10 07:40:33
我是在ajax Mobile中开发的,默认情况下,jQuery移动表单通过jQuery调用服务器,您应该像这样添加data-ajax="false":
<form action="forms-sample-response.php" method="get" data-ajax="false" class="ui-body ui-body-a ui-corner-all">完整示例:
http://jquerymobile.com/demos/1.0/docs/forms/forms-sample.html
https://stackoverflow.com/questions/8531832
复制相似问题