MVC4 프로젝트가 있고 Modernizr에 문제가 있습니다. html 입력 형식 날짜가 지원되는지 테스트 해보고 싶습니다. 그렇지 않으면 kendoUI (jquery-UI와 유사)를로드하여 datepicker 컨트롤로 날짜의 입력 유형을 사용한 모든 인스턴스를 표시하십시오. 날짜 입력 유형이 지원되지 않는 경우에만 아래의 스크립트를 사용하여 kendo css 및 js 파일을로드합니다.조건부로 날짜 피커를 추가하면 MVC4 및 Modernizr.Load가 깜박임을 발생합니다.
<script>
Modernizr.load({
test: Modernizr.inputtypes.date,
nope: ['/Content/Kendo-styles/kendo.common.min.css',
'/Content/Kendo-styles/kendo.default.min.css',
'/Scripts/kendo/kendo.web.min.js'],
complete: function() {
$('input[type=date]').kendoDatePicker({
format: "dd/MM/yyyy"
});
}
});
</script>
내 페이지의 스크립트 섹션 (_Layout/master가 아니라 다음 레벨에 있음)에 배치했습니다. 작동하지만 깜박 거립니다. 내 스크립트를로드 한 다음 전체 기능을 실행하기 전에 내 페이지를 표시하여 텍스트 상자를 먼저 표시 한 다음 약 개를 표시합니다. 30 초 후 날짜 표시 줄이 렌더링됩니다.
전체 기능을 제거하고 다음 스크립트를 내 문서 준비 기능에 추가하는 경우가 종종 실패합니다. 이 경우 kendo 스크립트가 다운로드되었지만 아직 실행되지 않았으므로 kendodatepicker가 인식되지 않습니다 (브라우저 개발자 도구 - 네트워크에서). 이 경우 나는 Modernizer가 완료되기 전에 준비된 문서가 실행될 것이라고 추정 할 수 있습니다. 나는이 정확한가? 아래는 내 문서 준비 코드입니다.
$(function() {
if (!Modernizr.inputtypes.date) {
$('input[type=date]').kendoDatePicker({
format: "dd/MM/yyyy",
});
}
}
사람은 절반은 두 번째는 다음 기능을 실행 3 개 파일을 다운로드해야하는 사실이다