Задача
Я использую диалоговое окно jQuery UI, чтобы показать диалоговое окно с некоторыми текстовыми полями ASP.NET и кнопкой в нем. Однако, так как jQuery перемещает div для диалогового окна за пределы формы, мне нужно самостоятельно переместить его обратно в форму (подробнее см. this ), так что ASP.NET все еще работает. Это перемещение вызывает проблему, когда поле не получает фокус при вызове.
Если вы посмотрите на образец под линией, помеченной линией B, следует установить фокус, однако линия, помеченная линией A, нарушит это. Если я закомментирую строку A, это сработает. Независимо от того, куда я перемещаю строку B (до диалога, строки A и т. Д.), Она все равно не может установить фокус.
Под настройкой фокуса я подразумеваю, что курсор в текстовом поле мигает, готовый к вводу.
Q uestion, как мне установить фокус в этом сценарии?
Образцы
Пример HTML-текста
<body>
<form id="form1" runat="server">
<div id="popup">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</div>
</form>
</body>
JQuery образец
$(document).ready(function() {
var dlg = $("#popup").dialog();
/*Line A*/ dlg.parent().appendTo(jQuery("form:first"));
/*Line B*/ $("#TextBox2").focus();
});