jQuery의 UI 플러그인 인 DatePicker를 사용할 때 기존 .aspx 페이지에서 다음과 같은 오류가 발생합니다.
$("#datepicker").datepicker is not a function
그러나 datePicker를 만들고 사용하는 동일한 코드를 aspx 페이지와 동일한 디렉토리에있는 HTML 파일에 복사하여 붙여 넣으면 완벽하게 작동합니다. 이로 인해 aspx 페이지에 datePicker 또는 jQuery의 UI JS 파일이 제대로로드되지 않는 일부 JS 파일이 있다고 가정하게됩니다.
누구든지 내 신념을 확인하거나 jQuery의 UI 플러그인을 방해하는 범인을 찾는 팁을 제공 할 수 있습니까?
답변
나는 몇 시간 동안 비슷한 문제로 고생했습니다. 그런 다음 jQuery가 jQuery 함수를 추가하는 프로그램에 의해 한 번, 사내 디버거에 의해 한 번, 두 번 포함 된 것으로 밝혀졌습니다.
답변
$ 변수를 사용하는 다른 라이브러리가있는 경우 다음을 수행 할 수 있습니다.
var $j = jQuery.noConflict();
$j("#datepicker").datepicker();
또한 자바 스크립트 포함이 올바른 순서로되어 있는지 확인하여 jquery.ui 앞에 jquery 코어 라이브러리를 정의하십시오. 나는 문제를 일으켰습니다.
답변
이 오류는 일반적으로 jQuery UI 세트에서 파일이 누락 된 경우에 나타납니다.
모든 파일, jQuery UI 파일, CSS 및 이미지가 있고 서버의 올바르게 연결된 파일 / 디렉터리 위치에 있는지 다시 확인합니다.
답변
jQuery “$ (“# datepicker “). datepicker는 함수가 아닙니다.”
마지막에있는 양식의 본문 섹션에 아래 세 개의 파일을 배치하여 문제를 해결했습니다.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="Stylesheet" type="text/css" />
답변
충돌이 있다고 생각되면 jQuery.noConflict()
코드에서 사용할 수 있습니다 . 자세한 내용은 문서에 있습니다.
참조 마법-JQUERY에 대한 단축키
항상 전체 “jQuery”를 입력하는 것을 좋아하지 않는 경우 몇 가지 대체 단축키가 있습니다.
jQuery를 다른 바로 가기에 다시 할당
var $j = jQuery;
(다른 라이브러리를 사용하려는 경우 가장 좋은 방법 일 수 있음) 다음 기술을 사용하면 $를 영구적으로 덮어 쓰지 않고 코드 블록 내에서 $를 사용할 수 있습니다.
(function($) { /* some code that uses $ */ })(jQuery)
참고 :이 기술을 사용하면 $가 Prototype의 $ 일 것으로 예상하는이 캡슐화 된 함수 내에서 Prototype 메서드를 사용할 수 없으므로 해당 블록에서 jQuery 만 사용하도록 선택합니다. DOM 준비 이벤트에 대한 인수를 사용하십시오.
jQuery(function($) { /*some code that uses $ */ });
참고 : 다시 말하지만, 해당 블록 내에서 Prototype 메서드를 사용할 수 없습니다.
그것은 문서의 끝에서 왔으며 당신에게 유용 할 것입니다.
답변
분명한 첫 번째로 가십시오 : jquery-ui.js 파일을 잘 참조하고 있습니까?
Firebug의 네트워크 탭을 사용하여로드되었는지 확인하거나 웹 개발자 도구 모음의 Information \ View javascript 코드를 사용해보십시오.
답변
Firebug를 사용하여 1) 자바 스크립트 오류가 없는지 확인하고 2) 페이지에 #datepicker 요소가 있는지 확인한 적이 있습니까?
datepicker 호출이 실행되지 못하게하는 오류가 datepicker 호출 전에있을 가능성이 높습니다.
