对话框中的链接关闭对话框,在JqueryMobile中不执行任何其他操作

时间:2011-01-31 10:03:55

标签: dialog hyperlink jquery-mobile

我在对话框页面中遇到链接问题。实际上,这些链接不起作用,它们关闭对话框页面并执行其他任何操作。我在http://jquerymobile.com/demos/1.0a2/#docs/pages/docs-dialogs.html查看演示,对话框中的链接也不起作用。

您有任何想法要纠正吗?

感谢。

2 个答案:

答案 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;

这对我有用。