IE6/7下Select控件Display属性无效解决办法

Posted Minily

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IE6/7下Select控件Display属性无效解决办法相关的知识,希望对你有一定的参考价值。

html的Select控件,C#的DropDownList服务器控件
设置父类型Display属性之后,在IE6/7上无效
直接将下段javascript脚本添加到页面中即可

<script type="text/javascript">
    window.onload = function () {
        if (document.getElementsByTagName) {
            var s = document.getElementsByTagName("select");
            if (s.length > 0) {
                window.select_current = new Array();
                for (var i = 0, select; select = s[i]; i++) {
                    select.onfocus = function () {
                        window.select_current[this.id] = this.selectedIndex;
                    }
                    select.onchange = function () {
                        restore(this);
                    }
                    emulate(select);
                }
            }
        }
    }
 
    function restore(e) {
        if (e.options[e.selectedIndex].disabled) {
            e.selectedIndex = window.select_current[e.id];
        }
    }
 
    function emulate(e) {
        for (var i = 0, option; option = e.options[i]; i++) {
            if (option.disabled) {
                option.style.color = "graytext";
            } else {
                option.style.color = "menutext";
            }
        }
    } 
</script>

以上是关于IE6/7下Select控件Display属性无效解决办法的主要内容,如果未能解决你的问题,请参考以下文章

IE的bug,点击div无效

小结IE6的坑

firefox下div处于editable状态,checkbox和select控件onmousedown事件无效

display:inline-block的间隙问题和解决办法

css样式 z index 会在啥情况下无效

兼容性—IE6/7下带有overflow:hidden属性的父级元素包不住带有position:relative属性的子元素