【问题标题】:Why isn't Jquery date picker icon showing in IE8?为什么 IE8 中不显示 Jquery 日期选择器图标?
【发布时间】:2012-01-19 06:55:20
【问题描述】:

我的 html 页面中有以下代码。 图标存在且图片路径有效。 除了 IE8 仅显示一个 rey 框外,每个浏览器似乎都能正确显示。 有人知道解决办法吗?

<script type="text/javascript" charset="utf-8">

 var sDate = new Date(1323637200000);

  $(function() {
    $( "#datepicker" ).datepicker({

      minDate: -151,
      maxDate: "-1D",
      dateFormat: "dd-mm-yy",
      defaultDate: sDate,
      firstDay: 6,
      showOn: "button",
      buttonImage: "/public/images/ico-calendar.gif",
      buttonImageOnly: false,
      onSelect: function(mydate) {
            window.location.href="/reports/"+mydate;
        }
    });
  });
</script>
<input type="hidden" id="datepicker" />

【问题讨论】:

  • 尝试使用 ~/public/images/ico-calendar.gif
  • 这不会改变任何东西。图片uri是正确的,其他浏览器可以显示图标。

标签: javascript internet-explorer jquery-ui calendar datepicker


【解决方案1】:

经过大量的摆弄,我发现重新设置图标图像的最大宽度可以让图标正确显示。这听起来像是 IE 8 的一个怪癖。

img{
 max-width: none;
}

【讨论】:

    【解决方案2】:

    把html改成

    <input type="text" id="datepicker" />
    

    小提琴here。我没有给出有效的图像路径。你需要在你的开发系统上检查它。

    【讨论】:

      【解决方案3】:

      不确定这对人们来说是否仍然是一个问题,但我用一个小的 jQuery 脚本解决了它:

              var ua = window.navigator.userAgent;
              var msie = ua.indexOf('MSIE');
              var trident = ua.indexOf('Trident/');
              //Check if IE
              if (msie > 0 || trident > 0) {
                  $("input[type=date]").datepicker();
              }
      

      在 Chrome 和所有 IE 版本上都像魅力一样工作。

      【讨论】:

        猜你喜欢
        • 2016-03-22
        • 2017-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多