IE 下拉列表宽度差异
在 Internet Explorer 中,下拉列表继承了下拉框的宽度,而在 Firefox 中它们会根据列表进行调整内容。这可能会产生问题,需要不必要地增大保管箱以容纳最长的选项。
CSS 解决方案
不幸的是,为保管箱和下拉列表设置不同的宽度是不可行的可以单独使用 CSS。
jQuery 解决方法
使用 jQuery 的解决方法可以达到所需的效果。该解决方案捕获各种事件(焦点、鼠标悬停、单击、鼠标移出、模糊)并动态修改下拉列表的 CSS 类。
if (!$.support.leadingWhitespace) { // if IE6/7/8 $('select.wide') .bind('focus mouseover', function() { $(this).addClass('expand').removeClass('clicked'); }) .bind('click', function() { $(this).toggleClass('clicked'); }) .bind('mouseout', function() { if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); }}) .bind('blur', function() { $(this).removeClass('expand clicked'); }); }
此外,还需要以下 CSS:
select { width: 150px; /* Or whatever width you want. */ } select.expand { width: auto; }
通过将“wide”类分配给下拉列表,解决方法会相应地调整其宽度,解决 IE 差异。
以上是如何使用 jQuery 解决 Internet Explorer 和 Firefox 之间的下拉列表宽度差异?的详细内容。更多信息请关注PHP中文网其他相关文章!