html固定宽度下拉框内容显示不全问题解决方法

不少时候在页面中为了布局的需要,下拉列表select的宽度需要设成比较小的,这时如果恰巧它包含的选择项option的内容比较长,那么超出select宽度的部分将会被截断,如果option显示的内容又比较重要,必须完整地展现出来,或者你是个完美主义者,那这就成了一不少时候在页面中为了布局的需要,下拉列表,给所有的option加上与text相同的title。

function SetOptionTitle()
{

//解决兼容性问题

if (navigator.userAgent.toLowerCase().indexOf("firefox") > 0) {
        return;
    }
    if (navigator.userAgent.toLowerCase().indexOf("chrome") > 0) {
        return;
    }
    var selects = document.getElementsByTagName("select");
    if (selects.length > 0)
    {
        for (var i = 0; i < selects.length; i++)
        {
            var options = selects[i].options;
            if (selects[i].options.length > 0)
            {
                for (var j = 0; j < options.length; j++)
                {
                    if (options[j].title == "")
                        options[j].title = options[j].text;
                }
            }
        }
    }
}

很不幸的是,IE6并不支持






有了这个demo,我们就可以把其中的js提取出来,应用到项目中需要的地方了。

目前这种方式是给select注册了onmouseover,对于鼠标操作是没什么问题,如果用户是按tab键移动焦点就无效了。估计实际应用中这样的情形不会很多,所以暂不考虑,有兴趣的朋友可以再完善一下,或者看看有没有更好的解决方法。

你可能感兴趣的:(移动端)