我在对话框页面中遇到链接问题。实际上,这些链接不起作用,它们关闭对话框页面并执行其他任何操作。我在http://jquerymobile.com/demos/1.0a2/#docs/pages/docs-dialogs.html查看演示,对话框中的链接也不起作用。
您有任何想法要纠正吗?
感谢。
答案 0 :(得分:0)
将演示点中的链接返回到页面,这样它可能会起作用......但是当我用firebug更改href时它会做同样的事情。看起来你在jqm alpha2中发现了一个错误。
但是有个好消息。错误是固定的。参见:
http://jquerymobile.com/test/docs/#pages/docs-dialogs.html
http://jquerymobile.com/test/docs是从存储库生成的文档版本(每天左右)
答案 1 :(得分:0)
谢谢你。
但是此链接提供的javascript:http://jquerymobile.com/test/js/但此文件不完整(例如,它不包含data-role =“field-contains”)。
但是和Naugtur说的一样,有个好消息: 我在互联网上找到了解决方案: 下载此文件的未压缩版本:jquerymobile.com上的jquery-mobile-1.0a2.js并修改此文件:
$.widget( "mobile.dialog", $.mobile.widget, {
$closeBtn = $('<a href="#" data-icon="delete" data-iconpos="notext">Close</a>');
$el.delegate("a, submit", "click submit", function(e){
if( e.type == "click" && ( $(e.target).closest('[data-back]') || $(e.target).closest($closeBtn) ) ){
self.close();
return false;
}
$.mobile.activePage = this.element;
});
替换行:if( e.type == "click" && ( $(e.target).closest('[data-back]') || $(e.target).closest($closeBtn) ) ){
通过:if( e.type == "click" && ( $(e.target).closest('[data-back]')[0] || this==$closeBtn[0] ) ){
和:$.mobile.activePage = this.element;
通过:$.mobile.activePage = self.element;
这对我有用。