C# 必须单击两次才能在ASP.NET中展开DropDownList
我继承了一个ASP.NET 2.0项目,我注意到的一件事是,用户必须单击C# 必须单击两次才能在ASP.NET中展开DropDownList,c#,.net,asp.net,drop-down-menu,C#,.net,Asp.net,Drop Down Menu,我继承了一个ASP.NET 2.0项目,我注意到的一件事是,用户必须单击dropdownlist两次才能展开它-为什么 事件顺序 第一次单击提供控件焦点,第二次单击将扩展控件焦点 该应用程序使用母版/内容页,并且支持Ajax 看起来这在IE6中不会发生,但在IE7中确实会发生。不知道这是不是最好的解决方案,而且还没有尝试过。。但是将onload()上的焦点设置到所讨论的控件如何?不知道这是不是最好的解决方案,而且还没有尝试过。。但是将onload()上的焦点设置到相关控件如何?如果您使用IE7并
dropdownlist
两次才能展开它-为什么
事件顺序
看起来这在IE6中不会发生,但在IE7中确实会发生。不知道这是不是最好的解决方案,而且还没有尝试过。。但是将onload()上的焦点设置到所讨论的控件如何?不知道这是不是最好的解决方案,而且还没有尝试过。。但是将onload()上的焦点设置到相关控件如何?如果您使用IE7并将onFocus事件用于这些下拉列表,请查看以下内容: 否则,我建议您看看:
你能提供一些代码让我们看一下吗?如果你正在使用IE7并在这些下拉列表中使用onFocus事件,请看以下内容: 否则,我建议您看看:
你能提供一些代码让我们看一下吗?下拉事件中是否填充了下拉数据?如果是这样,一个简单的解决方法是在数据加载结束时将下拉状态设置为True。是否在on下拉事件中填充下拉数据?如果是这样,一个简单的解决方法是在数据加载结束时将下拉状态设置为True。找到它并对其进行排序(目前) 问题是由usercontrol插入的Javascript函数引起的,该函数正在向DropDownList添加样式。为什么不在CSS中执行此操作我不知道(但很快就会知道),但注释以下函数解决了我的问题:
function inputOnFocus(objInput)
{
objInput.style.backgroundColor = sHighLightBgColor;
objInput.style.border = sBorderHighlight;
//objInput.className = "inputOnFocus";
sIDWithFocus = objInput.id;
}
我不太清楚这是如何/为什么应用于某些DDL的,而不是其他DDL,但目前(随着客户演示即将到来),我真的不在乎——我会在有机会的时候深入研究
感谢@LFSR Consulting、@Scott Evernden和@kogus的支持。找到了它并对它进行了排序(目前)
问题是由usercontrol插入的Javascript函数引起的,该函数正在向DropDownList添加样式。为什么不在CSS中执行此操作我不知道(但很快就会知道),但注释以下函数解决了我的问题:
function inputOnFocus(objInput)
{
objInput.style.backgroundColor = sHighLightBgColor;
objInput.style.border = sBorderHighlight;
//objInput.className = "inputOnFocus";
sIDWithFocus = objInput.id;
}
我不太清楚这是如何/为什么应用于某些DDL的,而不是其他DDL,但目前(随着客户演示即将到来),我真的不在乎——我会在有机会的时候深入研究
感谢@LFSR Consulting、@Scott Evernden和@kogus的支持。我知道我发布的是一条旧帖子;然而,我想分享我的两分钱在这方面,因为它可能会帮助任何人在未来 我最近正在制作一个快速表单,希望突出显示用户将使用黄色进入的所有字段,当焦点丢失时,显然会返回白色 由于我不是在使用ASP.NET,所以不必深入讨论代码,只需使用javascript部分……我所做的补救措施是为onmousedown创建另一个事件。只要有onfocus部分,我就必须在下拉框中单击两次。设置焦点后,单击另一个按钮并列出项目。通过添加onmousedown函数,它允许我的颜色在单击时发生变化,也允许选项卡或其他形式的焦点转移
当然,没有必要有一个对应的,因为onblur负责它(onfocus的对应物)。我知道我是在一个旧的线程上发布的;然而,我想分享我的两分钱在这方面,因为它可能会帮助任何人在未来 我最近正在制作一个快速表单,希望突出显示用户将使用黄色进入的所有字段,当焦点丢失时,显然会返回白色 由于我不是在使用ASP.NET,所以不必深入讨论代码,只需使用javascript部分……我所做的补救措施是为onmousedown创建另一个事件。只要有onfocus部分,我就必须在下拉框中单击两次。设置焦点后,单击另一个按钮并列出项目。通过添加onmousedown函数,它允许我的颜色在单击时发生变化,也允许选项卡或其他形式的焦点转移
当然,没有必要有一个对应的,因为onblur处理了它(onfocus的对应项)。感谢您的建议,但它不是一个初学者,因为SetFocus只能在预渲染之前和期间调用(显然)。感谢您的建议,但它不是初学者,因为SetFocus只能在预渲染之前和期间调用(显然)。他使用的是ASP.NET,而不是WinForm。她使用的是ASP.NET,而不是WinForms。由于代码在母版页、内容页和用户控件之间被拆分,所以代码有点杂乱无章。我刚刚在现有页面上添加了一个DDL,并手动添加了几个项目(根本没有事件处理),而且还需要单击两下才能将其展开-(由于代码在母版页、内容页和用户控件之间被拆分,代码有点杂乱无章。我刚刚在现有页面上添加了一个DDL,并手动添加了两个项目(根本没有事件处理),它也需要单击两下才能展开它。)-(