我正在使用AutoComplete ASP.NET AJAX 控件工具包中的控件,我遇到了一个问题:当我将焦点设置到指定的文本框时,自动完成功能不会填充。
我尝试在 Page_Load、Page_PreRender 和 Page_Init 事件中设置焦点,并且焦点设置正确,但自动完成功能不起作用。如果我不设置焦点,一切都会正常,但我想设置它,以便用户不会有额外的点击。
我需要在一个特殊的地方设置焦点还是需要做其他事情才能完成这项工作?谢谢。
最佳答案
我们遇到了完全相同的问题。我们要做的就是在页面底部编写一个脚本,该脚本会快速模糊然后重新聚焦到文本框。您可以在这里查看(非常hacky)解决方案:http://www.drive.com.au
文本框 ID 为 MainSearchBox_SearchTextBox
。看一下第 586 行,您可以看到我在哪里连接所有事件(我实际上在这方面使用原型(prototype)。
基本上,在文本框的焦点事件上,我将一个名为 textBoxHasFocus
的全局变量设置为 true,在模糊事件上,我将其设置为 false。我将页面的加载事件称为此脚本:
if (textBoxHasFocus) {
$get("MainSearchBox_SearchTextBox").blur();
$get("MainSearchBox_SearchTextBox").focus();
}
这会重置文本框。这确实很狡猾,但这是我能找到的唯一解决方案
关于asp.net - 使用 ASP.NET AJAX 控制工具包设置焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42830/