虽然<input type="date">
对于桌面来说并不常见,但这是移动设备的首选方法。
我正在尝试在本节底部实现回退代码:http: //diveintohtml5.info/forms.html#type-date
<form>
<input type="date">
</form>
<script>
var i = document.createElement("input");
i.setAttribute("type", "date");
if (i.type == "text") {
// No native date picker support :(
// Use Dojo/jQueryUI/YUI/Closure to create one,
// then dynamically replace that <input> element.
var script = document.createElement('script');
script.scr = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
var style = document.createElement('style');
style.href = "http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css";
document.getElementsByTagName('head')[0].appendChild(style);
$(function() {
$.datepicker.setDefaults(
$.extend($.datepicker.regional['']);
);
});
}
</script>
使用上述逻辑,其中的任何内容都会$(function())
引发控制台错误,并且 datepicker 是未定义的。我如何重写它,以便仅当本机日期选择器不可用时才显示 jQueryUI 脚本和样式?
我试图在移动浏览器和 Chrome 的这些页面上降低 http 请求并提高整体页面性能,因为它们都有可用的本机日期选择器。