在IE - MVC 4, Razor中无法加载日期选择器
本文关键字:加载 日期 选择器 Razor IE MVC | 更新日期: 2023-09-27 18:19:12
下面需要你的帮助
我已经在我的视图下面的代码为日期选择器,它在chrome中工作完美,但在IE中没有加载。
<script language="javascript" type="application/javascript">
$(document).ready(function () {
$("#StartDate").datepicker();
$("#EndDate").datepicker();
});
</script>
@Html.LabelFor(m => m.StartDate)
@Html.TextBoxFor(m => m.StartDate, new { style = "width:200px;height:34px;", type = "date" })
下面是_layout.cshtml
中添加的引用<script src="~/obj/Scripts/jquery-1.7.1.js"></script>
<script src="~/obj/Scripts/jquery.ui.datepicker.js"></script>
IE不支持"data"属性。输入类型DATE是HTML5特性,并非所有浏览器都支持。如果你想使用你的浏览器(通常是IE)不支持的HTML5功能,那么使用两件事:
功能检测Polyfills功能检测是一种判断浏览器是否支持HTML5功能的能力。Modernizr是一个很好的图书馆。你可以用modernizr检测你需要的功能是否不支持,如果不支持,你可以有条件地加载一些javascript库来实现该功能。这些库被称为Polyfills。
例如,如果你想在IE 10中使用标签,你可以使用jqueryui.com控件来提供日期选择器。
Modernizr.load({
test: Modernizr.inputtypes.date,
nope: "js/jquery-ui.custom.js",
callback: function() {
$("input[type=date]").datepicker();
}
});
Modernizr tests是支持的特性,您可以选择使用nope来指示是否有一个库,只有在不支持该特性的情况下才希望加载该库,而callback是在测试和加载库之后调用的代码。