为啥 IE8 中不显示 Jquery 日期选择器图标?
Posted
技术标签:
【中文标题】为啥 IE8 中不显示 Jquery 日期选择器图标?【英文标题】: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是正确的,其他浏览器可以显示图标。 【参考方案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 版本上都像魅力一样工作。
【讨论】:
以上是关于为啥 IE8 中不显示 Jquery 日期选择器图标?的主要内容,如果未能解决你的问题,请参考以下文章