【问题标题】:Cannot call methods on dialog prior to initialization无法在初始化之前调用对话框上的方法
【发布时间】:2013-07-25 09:28:37
【问题描述】:

我正在尝试在 jQuery 对话框中打开一个 div。将 div 作为对话框打开后,当我单击覆盖区域时,出现此错误。

无法在初始化之前调用对话框上的方法。尝试调用方法'close'。

这是我目前尝试过的:

<div class="mydiv"></div>
var options = {
  modal: true,
  draggable: true,
  resizable: false,
  position: "center",
  buttons: {
    OK: function () {
      $(this).dialog("close");
    }
  },
  close: function () {
    $(".ui-dialog").remove();
  }
};
var dg = $(".mydiv").dialog(options);
$(dg).dialog("open");

//document.ready

$(".ui-widget-overlay").live("click", function () { $(".mydiv").dialog("close"); });

可能有许多具有相同类名“.mydiv”的 div。

【问题讨论】:

    标签: jquery-dialog


    【解决方案1】:

    buttons 属性接受一个对象数组,这些对象定义了一个 text 属性和一个包含事件处理程序的 click 属性。

    var options = {
      modal: true,
      draggable: true,
      resizable: false,
      position: "center",
      buttons: [{
        "text": "OK",
        "click": function () {
          $(this).dialog("close");
        }
      }],
      close: function () {
        $(".ui-dialog").remove();
      }
    };
    

    欲了解更多信息,请查看documentation

    工作示例 http://jsfiddle.net/unWzC/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      相关资源
      最近更新 更多