在jQuery Mobile中以编程方式加载对话框?

时间:2011-09-01 13:05:24

标签: jquery jquery-mobile

我正在尝试在您点击Google地图标记时出现的jQuery Mobile中创建对话框。

示例网址:http://cyclestreets.darkgreener.com/location/(滚动到伦敦,英国的位置以查看标记)。

我已经有了部分方法,使用此代码:

 google.maps.event.addListener(map_marker, 'click', function() {
     $.mobile.changePage({ url: $("#photo"), data: "id=" + marker.id, type: "GET"}, 'pop', false, true);
 });

但是,有一些与样式和数据有关的问题:

  1. 出现的对话框为全屏。有什么方法可以让它成为部分屏幕,like the default jQuery Mobile dialogs,以及关于和Prefs对话框on my home page
  2. 标题中没有关闭链接 - 再次there is in the default jQuery mobile dialog。除了手工添加之外,我能否确保显示?
  3. 在对话框的.live()事件中,如何获取传递给它的数据?

3 个答案:

答案 0 :(得分:5)

function openPopup(element_id)
{
    $.mobile.changePage(element_id, { transition: "pop", role: "dialog", reverse: false } );
}

答案 1 :(得分:1)

beta 1开始,为了让div显示为对话框,请使用data-role="dialog"上的div属性,而不是data-role="page"

答案 2 :(得分:0)

请注意,jquery对话框要求存在数据角色内容和标题div,以便正确应用样式。这将为您提供标题中关闭按钮的完整对话框。

<div data-role="dialog" id="dialog" >
<div data-role="header"><h3>Oops!</h3></div>
<div data-role="content">
    <p>You done screwed up, partner!</p>
</div>

</div>