我正在尝试使用 Jquery Mobile 的对话框。在文档中,它说如果用户单击对话框页面上的任何链接,diaglog 将被关闭。
文档:
“当在对话框中单击任何链接时,框架将自动关闭对话框并转换到请求的页面,就像对话框是普通页面一样。要在对话框中创建“取消”按钮,只需链接到触发对话框打开的页面。这种链接到前一页面的模式也可用于非 JS 设备。
我该如何预防?
我正在尝试使用 Jquery Mobile 的对话框。在文档中,它说如果用户单击对话框页面上的任何链接,diaglog 将被关闭。
文档:
“当在对话框中单击任何链接时,框架将自动关闭对话框并转换到请求的页面,就像对话框是普通页面一样。要在对话框中创建“取消”按钮,只需链接到触发对话框打开的页面。这种链接到前一页面的模式也可用于非 JS 设备。
我该如何预防?
不要使用<a>
标签,使用<div>
<div id="my_button" data-role="button" data-theme="a">Don't Close</div>
然后您只需以编程方式将一些操作附加到单击该 div
$('#my_button').live('click', function({
// do something
}
如果您向 onclick 添加一个函数,那将覆盖默认行为。只需href="#"
在标签中留下,把功能喜欢onclick="myFunction()"
,你应该很好。
然后在函数中你可以用这个来关闭: $('.ui-dialog').dialog('close')
或者您显然可以使用以下命令导航到另一个页面: $.mobile.changePage('#page')
我确定您现在已经继续前进,但希望这可以帮助其他寻找此解决方案的人。
wom 的解决方案很好,但是你不需要从 tag 更改为 . 您只需要像 Mar 所说的那样更改 href="#" 之类的 href。我有这样的测试,它工作正常。
如果仍然无法阻止默认操作,请在按钮的单击处理程序上添加 e.preventDefault() 。