代码之家  ›  专栏  ›  技术社区  ›  DilbertDave

必须单击两次才能在ASP.NET中展开DropDownList

  •  2
  • DilbertDave  · 技术社区  · 16 年前

    我继承了一个ASP.NET 2.0项目,我注意到用户必须单击 dropdownlist 两次是为了扩大它-为什么?

    1. 第一次点击给控制焦点,第二次将扩大它。

    看起来这不是在IE6中发生的,而是在IE7中发生的。

    5 回复  |  直到 15 年前
        1
  •  1
  •   DilbertDave    16 年前

    找到它并分类(暂时)。

    这个问题是由一个用户控件插入的Javascript函数引起的,该函数正在向DropDownLists添加样式。为什么没有在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提供的意见。

        2
  •  0
  •   Scott Evernden    16 年前

    不知道如果这是最好的解决方案而且还没有尝试过。。但是在onload()上设置焦点到所讨论的控件怎么样?

        3
  •  0
  •   Gavin Miller    16 年前

    如果您正在使用IE7并使用onFocus事件来处理这些下拉列表,请查看以下内容:

    http://forums.asp.net/p/1049119/1479078.aspx#1479078

  • 是否正在调用服务器onFocus,其中IsPostBack在页面加载时未得到正确处理?
  • 为任何其他想法画一个空白。。。

  •     4
  •  0
  •   Etchavious    14 年前

    我知道我在发一个旧帖子;但是,我想分享我的两分钱,因为它可能会在未来帮助任何人。

    我最近正在开发一个快速表单,想用黄色突出显示用户将要转到的所有字段,当焦点丢失时,显然会返回到白色。

    当然,没有必要有对应的,因为onblur处理了它(onfocus的对应)。

        5
  •  -1
  •   JosephStyons    16 年前