0

我的选择有一个 .on("click"... 事件,可以打开一个对话框。

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

如何停止选择列表的关闭?我正在测试 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");
  });
});
4

1 回答 1

1

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

链接的代码看起来可能需要做很多工作,但实际上并不难想出: 1. 像这样扩展 jQuery 对话框:

$.widget("ui.my_dialog", $.ui.dialog, { 
});
  1. 将所有.dialog引用更改为.my_dialog
  2. open将jQuery UI中的函数复制到我的新对象中。
  3. (可选)重命名openopen_nofocus(或其他名称)并更新open.
于 2012-11-20T23:37:41.747 回答