답변:
Wordpress는 기본적으로 noConflict 모드 에서 jQuery를 사용합니다 . 당신은 그것을 사용 참조해야 할 jQuery
변수의 이름으로,하지 $
, 예를 들어, 사용
jQuery(document);
대신에
$(document);
$
jQuery를 다시 참조하고 전역 네임 스페이스를 오염시키지 않도록 자체 실행 함수로 이것을 쉽게 마무리 할 수 있습니다.
(function ($) {
$(document);
}(jQuery));
jQuery(document)
대신에 전화 할 수 있습니다 $(document)
. $
대신 에 사용 하려면 위의 스크립트는 단순히 인수 $
를 취한 다음 전달 하는 함수를 작성합니다 jQuery
. 간단히 말해서 함수 내에서 $
예상대로 jQuery를 가리 킵니다.
$(document).ready(function() { // code });
하는 당신의 자리를 대신 $(document);
했습니다.
jQuery를 사용하십시오 noConflict
. 그것은 나를 위해 경이로웠다
var example=jQuery.noConflict();
example(function(){
example('div#rift_connect').click(function(){
example('span#resultado').text("Hello, dude!");
});
});
즉, HTML에 jQuery를 포함했다고 가정하면
<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
이 스 니펫을 사용해보십시오.
jQuery(function($) {
// Your code.
})
그것은 나를 위해 일했습니다. 아마도 당신을 도울 것입니다.
이 문제는 Chrome에서만 발생했습니다.
나는 추가를 시도했다
var $ =jQuery.noConflict();
전화하기 직전에
$(document).ready(function () {
효과가있었습니다.
고마워
;(function($){
// your code
})(jQuery);
위의 클로저 안에 js 코드를 넣으면 문제가 해결됩니다.
또한 웹 개발 사업자에서 이러한 문제에 오랫동안 직면 해 왔습니다. 실제로 JS 충돌이 아닙니다. html 웹 사이트를 브라우저에로드 할 때 그러한 오류가 발생하지 않지만 localhost를 통해 이러한 유형의 웹 사이트를로드 할 때 그러한 문제에 직면합니다. 그것은 localhost 때문입니다. 로컬 호스트를 통해 스크립트를로드하면 스크립트가 스캔되고 출력이 렌더링됩니다. 그러나 localhost를 사용하지 않았을 때. 출력 만 스캔합니다. 예를 들어, 로컬 호스트 옆에 PHP 코드를 작성하고 호스트없이 실행하면 오류가 발생합니다. 그러나 코드가 정확하고 호스트를 통해 실행되는 경우 실제 출력을 얻습니다. inspect 요소를 사용할 때 출력 코드를 HTMl 형식으로 얻지 만 PHP 형식은 아닙니다. 이것은 코드 렌더링 때문입니다.
렌더링 오류입니다. 따라서이 jquery 코드 오류를 해결하기 위해 솔루션 중 하나 가이 방법을 사용하고있을 수 있습니다.
jQuery(document).ready(function($){
/******** Body of Jquery Code*****/
});
이 코드는 jquery를 적용하여 '$'를 변수의 변수로 등록합니다. 그렇지 않으면 기본적으로 .js 파일은 javascript로만 읽습니다.
두가지:
이 사이에 모든 스크립트를 포장 ...
<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
});
</script>
많은 JavaScript 라이브러리는 jQuery와 마찬가지로 $를 함수 또는 변수 이름으로 사용합니다. jQuery의 경우 $는 jQuery의 별칭 일 뿐이므로 $를 사용하지 않고도 모든 기능을 사용할 수 있습니다. jQuery와 함께 다른 JavaScript 라이브러리를 사용해야하는 경우 $ .noConflict ()를 호출하여 $의 제어를 다른 라이브러리로 다시 리턴하십시오 . jQuery 초기화 중에 $에 대한 이전 참조가 저장됩니다. noConflict ()는 단순히 그것들을 복원합니다.
아래 스 니펫에서 jQuery와 $를 모두 사용할 수 있습니다. 그것은 나를 위해 일했다
jQuery( document ).ready(function( $ ) {
// jQuery(document)
// $(document)
});
Net
Firebug 탭에 오류가 없는지 확인하십시오 (jQuery가 실제로로드되는지 확인).