Rob*_*ean 5 asp.net jquery jquery-ui
问题
我正在使用jQuery UI对话框显示一个对话框,其中包含一些ASP.NET文本框和一个按钮.但是,当jQuery移动表单外部的对话框的div时,我需要将其重新移回到表单本身(请参阅此详细原因),以便ASP.NET仍然有效.这种移动导致了一个问题,如果调用该字段不会获得焦点.
如果您查看下面的示例,标有线B的线应该设置焦点,但是标记为线A的线会打破它.如果我评论A行它是有效的.无论我在哪里移动B线(在对话框,A线等之前......),它仍然无法设置焦点.
通过设置焦点我的意思是光标在文本框中闪烁准备输入.
问题如何在这种情况下设置焦点?
样品
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>
Run Code Online (Sandbox Code Playgroud)
jQuery示例
$(document).ready(function() {
var dlg = $("#popup").dialog();
/*Line A*/ dlg.parent().appendTo(jQuery("form:first"));
/*Line B*/ $("#TextBox2").focus();
});
Run Code Online (Sandbox Code Playgroud)
小智 7
尝试使用setTimeout("$('#TextBox2').focus();",100);,对于jQuery UI的对话框和其他方法,有时需要几秒钟来实际执行我们通过代码分配的任务.
希望这可以帮助.这种解决方法在我的许多应用程序中都有所帮助.
小智 3
它在 FF 中有效,但在 IE7 中无效。我想出了两个解决方法。如果您不按名称而是按位置引用文本框,或者由于某种原因将焦点设置两次。
首先:
$("input:text:second").focus();
Run Code Online (Sandbox Code Playgroud)
第二:
$("#TextBox2").focus().focus();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14899 次 |
| 最近记录: |