Focus JQuery UI对话框:在焦点事件中调用,但关闭对话框后元素未聚焦
见标题。我将在输入元素的焦点事件中向用户显示一个jqueryui模式对话框。当对话框关闭时,我希望输入集中。这种情况不会发生。似乎在焦点事件中调用对话框可以防止焦点发生 当用户必须从多个值中进行选择时,将显示该对话框。这些值是通过ajax从不同的输入字段获取的,并带有一个参数。如果仅返回1个值(或无),则不会显示对话框,并且输入元素已正确聚焦。因此,问题显然在于对话Focus JQuery UI对话框:在焦点事件中调用,但关闭对话框后元素未聚焦,focus,jquery-ui-dialog,Focus,Jquery Ui Dialog,见标题。我将在输入元素的焦点事件中向用户显示一个jqueryui模式对话框。当对话框关闭时,我希望输入集中。这种情况不会发生。似乎在焦点事件中调用对话框可以防止焦点发生 当用户必须从多个值中进行选择时,将显示该对话框。这些值是通过ajax从不同的输入字段获取的,并带有一个参数。如果仅返回1个值(或无),则不会显示对话框,并且输入元素已正确聚焦。因此,问题显然在于对话 $("#myInput").focus(function() { //... get data, show dialog
$("#myInput").focus(function() {
//... get data, show dialog if multiple values in result
$("#dialog").dialog( "open" );
});
$( "#dialog" ).dialog({
autoOpen: false,
buttons: { "Ok": function() { $(this).dialog("close")}},
height: 120,
width: 185,
position: [285,200],
modal: true,
close: function(event, ui) {
$('#myInput').val($("#select").val()); // Select element in dialog
}
});
如何解决此问题?当对话框关闭时,只需再次聚焦输入:
$('#myInput').val($("#select").val()).focus();
$( "#dialog" ).dialog({
autoOpen: false,
buttons: { "Ok": function() { $(this).dialog("close")}},
height: 120,
width: 185,
position: [285,200],
modal: true,
close: function(event, ui) {
$('#myInput').val($("#select").val()).focus();
}
});
当对话框关闭时,只需再次聚焦输入:
$('#myInput').val($("#select").val()).focus();
$( "#dialog" ).dialog({
autoOpen: false,
buttons: { "Ok": function() { $(this).dialog("close")}},
height: 120,
width: 185,
position: [285,200],
modal: true,
close: function(event, ui) {
$('#myInput').val($("#select").val()).focus();
}
});