jQuery ui1.7 dialog只能弹出一次问题

复制代码 代码如下:

  // 显示确认对话框

  function showConfirm(txtTitle, txtMsg, callback){

  getDivDialog().text(txtMsg).dialog({

  modal: true

  , overlay: {

  opacity: 0.5

  }

  , title: txtTitle

  ,buttons: {

  "是" : function(){

  callback();

  $(this).dialog("close");

  }

  ,"否" : function(){

  $(this).dialog("close");

  }

  }

  });

  }

  但是在使用ui.1.7.1 的时候,每次按钮的click事件只能让dialog显示一次。无语。。。

  查看官方文档也没有什么解释。 Google了一把,发现,在ui.1.7.1中dialog必须首先初始化。

  在document.ready(function(){

  // 初始化dialog

  })

  

复制代码 代码如下:

  $("#layout-confirm").dialog({

  autoOpen: false,

  modal: true,

  title: "删除"

  });

  后面的使用中,还有一点是需要注意的:

  因为有些dialog参数是变量传递进去的,所以,必须先把option附加上,然后再open

  代码示例:

  

复制代码 代码如下:

  delText.click(function(){

  $("#layout-confirm").dialog(

  'option'

  , 'buttons'

  ,{

  "确定": function() {

  if(file.type == 0){

  deleteFolder(file.path);

  }

  else{

  deleteFile(file.path);

  }

  }

  ,"取消":function(){

  $(this).dialog("close");

  }

  }

  );

  $("#layout-confirm").dialog("open");

  });

  ok,搞定~~