JqueryUI:对话框打开导致选择列表关闭

时间:2012-11-14 09:05:54

标签: jquery-ui jquery-ui-dialog

我有一个.on(“点击”...我的选择事件会打开一个对话框。

问题是对话框的打开会关闭用户刚刚点击的选择。

如何停止关闭选择列表?我正在测试FF16和jqueryui 1.9

以下是问题的示例和JSfiddle:http://jsfiddle.net/HqfvP

$(function(){
  $('#theDialog').dialog( {
      autoOpen : false,
      resizable : false,
      stack : false, position: ['right','center']
  });
  $("#theSelect").on("click", function(){
      $(".ui-dialog-content").dialog("close");//closes all open dialogs
      $('#theDialog').dialog("open");
  });
});

1 个答案:

答案 0 :(得分:1)

选择选项关闭的原因是因为.dialog("open")自动将焦点设置到对话框中的元素。不想将焦点放在新打开的对话框上是一个不寻常的用例,因此您必须进行一些自定义:http://jsfiddle.net/HqfvP/3/

链接代码看起来可能已经做了很多工作,但实际上并不是很难想到: 1.像这样扩展jQuery对话框:

$.widget("ui.my_dialog", $.ui.dialog, { 
});
  1. 将所有.dialog引用更改为.my_dialog
  2. open函数从jQuery UI source复制到我的新对象中。
  3. (可选)open重命名为open_nofocus(或其他内容)并更新open的使用。