【问题标题】:jQuery SelectBox Plugin not working in IE7, 8, or 9jQuery SelectBox 插件在 IE7、8 或 9 中不起作用
【发布时间】:2013-05-01 03:33:52
【问题描述】:

我有这个 jQuery selectBox 插件,我已经设计了适合我需要的样式,还有一个“Go”按钮可以转到每个选项值中给出的 href。功能和风格在 FF、Chrome 和 IE10 中运行良好。但是在 IE7、8 和 9 中根本不起作用。

我已经尝试了在这里遇到的各种事情,包括使用以下 jQuery 修复程序确保我的所有 div 上都有一个 z-index:

    $(function () {
        var zIndexNumber = 1000;
        $('div').each(function () {
        $(this).css('zIndex', zIndexNumber);
        zIndexNumber -= 10;
        });
    });

我尝试过的任何方法都没有对 IE 产生任何影响。我几乎可以肯定我的问题存在于我的 CSS 中。我使用了很多 css3 样式并尝试删除它们......我还没有想出一个解决方案。对此的任何帮助将不胜感激! :)

这是我的 JSFIDDLE:http://jsfiddle.net/defmod33/hX2Ma/

“不工作”是指下拉部分根本没有显示...

【问题讨论】:

  • 任何人?...任何人?...布勒?...
  • 控制台有错误吗?
  • 无论如何您都可以使用最少的代码重新创建您的问题?真的没有心情浏览数百行代码:-/
  • 好吧,我非常怀疑问题出在 jquery 中……因为它是一个插件,应该在 IE7+ 中受支持。
  • 我更相信问题可以在css中解决。

标签: javascript jquery internet-explorer css


【解决方案1】:

我终于解决了这个问题。问题出在 CSS 中,就像我预期的那样。选择框下拉功能会破坏为 IE 提供渐变的“过滤器:”样式标签。我本来可以删除样式标签,但我决定创建几个条件 cmets,以防万一我将来找到更好的解决方案(我想保留“过滤器:”以防以后需要它) )。

使用的条件注释:

    <!--[if lte IE 9]>
      <style type="text/css">
        .sbHolder, .goButtonOne, .goButtonTwo {
           filter: none;
        }
      </style>
    <![endif]-->

    <!--[if lte IE 8]>
     <style type="text/css">
        .sbHolder {
           background:#ccc;
        }
        .goButtonOne, .goButtonTwo {
           background:#bf6c65;
        }
      </style>
    <![endif]-->

第一个去掉了 IE9 及以下的过滤器。第二个为去掉过滤器后没有背景色的浏览器(IE8及以下)提供第二种背景颜色

【讨论】:

  • 那么 IE10 呢?如果没有条件 cmets,它在那里工作吗?
  • 确实如此。一开始我从来没有遇到过问题……使用任何最新的浏览器(IE10、Chrome、FF 等……)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
相关资源
最近更新 更多