我有一个.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");
});
});
答案 0 :(得分:1)
选择选项关闭的原因是因为.dialog("open")
自动将焦点设置到对话框中的元素。不想将焦点放在新打开的对话框上是一个不寻常的用例,因此您必须进行一些自定义:http://jsfiddle.net/HqfvP/3/
链接代码看起来可能已经做了很多工作,但实际上并不是很难想到: 1.像这样扩展jQuery对话框:
$.widget("ui.my_dialog", $.ui.dialog, {
});
.dialog
引用更改为.my_dialog
open
函数从jQuery UI source复制到我的新对象中。open
重命名为open_nofocus
(或其他内容)并更新open
的使用。