如何在jquery移动对话框中防止自动关闭

时间:2011-01-16 05:33:45

标签: dialog jquery-mobile

我正在尝试使用Jquery Mobile的对话框。在文档中,它表示如果用户单击对话框页面上的任何链接,diaglog将被关闭。

文档:

“当在对话框中单击任何链接时,框架将自动关闭对话框并转换到所请求的页面,就像对话框是普通页面一样。要在对话框中创建”取消“按钮,只需链接到触发对话框打开的页面。这种链接到上一页的模式也可用于非JS设备。“

我该如何预防?

3 个答案:

答案 0 :(得分:3)

请勿使用<a>标记,请使用<div>

<div id="my_button" data-role="button" data-theme="a">Don't Close</div>

然后,您只需以编程方式将某些操作附加到该div的单击

$('#my_button').live('click', function({
    // do something
}

答案 1 :(得分:0)

如果向onclick添加一个函数,则会覆盖默认行为。只需将href="#"留在标记中,将函数设置为onclick="myFunction()",就可以了。

然后在函数中你可以用它来结束:$('.ui-dialog').dialog('close')

或者你可以使用$.mobile.changePage('#page')

显然导航到另一个页面

我相信你现在已经开始了,但希望这可以帮助其他人寻找这个解决方案。

答案 2 :(得分:0)

wom的解决方案很好,但您无需从标记更改为。如你所说,你只需要像href =“#”一样改变href。我有这样的测试,它工作正常。

如果仍无法阻止默认操作,请在按钮的单击处理程序上添加e.preventDefault()。