jQueryUncaughtTypeError: 개체 [objectWindow]의 속성 '$'이(가) 함수가 아닙니다.
모두, 저는 사전 번들된 JS/CSS 양식 애플리케이션을 다운로드하여 워드프레스에서 사용하려고 합니다.코드는 다음과 같습니다.
$(document).ready(function () {
/*----------------------------------------------------------------------*/
/* Parse the data from an data-attribute of DOM Elements
/*----------------------------------------------------------------------*/
$.parseData = function (data, returnArray) {
if (/^\[(.*)\]$/.test(data)) { //array
data = data.substr(1, data.length - 2).split(',');
}
if (returnArray && !$.isArray(data) && data != null) {
data = Array(data);
}
return data;
};
/*----------------------------------------------------------------------*/
/* Image Preloader
/* http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript
/*----------------------------------------------------------------------*/
// Arguments are image paths relative to the current page.
$.preload = function() {
var cache = [],
args_len = arguments.length;
for (var i = args_len; i--;) {
var cacheImage = document.createElement('img');
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
};
/*----------------------------------------------------------------------*/
/* fadeInSlide by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/
$.fn.fadeInSlide = function (speed, callback) {
if ($.isFunction(speed)) callback = speed;
if (!speed) speed = 200;
if (!callback) callback = function () {};
this.each(function () {
var $this = $(this);
$this.fadeTo(speed / 2, 1).slideDown(speed / 2, function () {
callback();
});
});
return this;
};
/*----------------------------------------------------------------------*/
/* fadeOutSlide by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/
$.fn.fadeOutSlide = function (speed, callback) {
if ($.isFunction(speed)) callback = speed;
if (!speed) speed = 200;
if (!callback) callback = function () {};
this.each(function () {
var $this = $(this);
$this.fadeTo(speed / 2, 0).slideUp(speed / 2, function () {
$this.remove();
callback();
});
});
return this;
};
/*----------------------------------------------------------------------*/
/* textFadeOut by revaxarts.com
/* Fades out a box and slide it up before it will get removed
/*----------------------------------------------------------------------*/
$.fn.textFadeOut = function (text, delay, callback) {
if (!text) return false;
if ($.isFunction(delay)) callback = delay;
if (!delay) delay = 2000;
if (!callback) callback = function () {};
this.each(function () {
var $this = $(this);
$this.stop().text(text).show().delay(delay).fadeOut(1000,function(){
$this.text('').show();
callback();
})
});
return this;
};
/*----------------------------------------------------------------------*/
/* leadingZero by revaxarts.com
/* adds a leding zero if necessary
/*----------------------------------------------------------------------*/
$.leadingZero = function (value) {
value = parseInt(value, 10);
if(!isNaN(value)) {
(value < 10) ? value = '0' + value : value;
}
return value;
};
});
Wordpress no conflict가 문제를 일으킨다고 생각하여 마지막 괄호를 다음과 같이 업데이트했습니다.
}, "jQuery");
하지만 여전히 같은 오류가 발생하고 있습니다.이 문제의 원인과 해결 방법을 아는 사람이 있습니까?
이것은 구문 문제이며, WordPress에 포함된 jQuery 라이브러리는 "충돌 없음" 모드로 로드됩니다.이것은 워드프레스가 로드할 수 있는 다른 자바스크립트 라이브러리와의 호환성 문제를 방지하기 위한 것입니다.충돌 없음 모드에서는 $ 바로 가기를 사용할 수 없으며 jQuery가 더 오래 사용됩니다.
jQuery(document).ready(function ($) {
함수 호출 뒤에 괄호 안에 $를 포함하면 코드 블록 내에서 이 바로 가기를 사용할 수 있습니다.
자세한 내용은 WordPress Codex를 참조하십시오.
내가 가장 좋아하는 충돌 친화적인 구성:
jQuery(function($) {
// ...
});
함수 포인터로 jQuery를 호출하면 $(문서) 바로 가기입니다.준비됨(...)
또는 커피 스크립트에서 말하는 것처럼:
jQuery ($) ->
# code here
Word에서 그냥 바꾸기를 누릅니다.
$(function(){...});
와 함께
jQuery(function(){...});
테마 기능에 다음과 같은 것을 추가하여 기본 WordPress jQuery 스크립트를 Google 라이브러리로 대체하는 것을 고려할 수 있습니다.php 파일:
function modify_jquery() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', false, '1.10.2');
wp_enqueue_script('jquery');
}
}
add_action('init', 'modify_jquery');
여기서 가져온 코드: http://www.wpbeginner.com/wp-themes/replace-default-wordpress-jquery-script-with-google-library/
아마도 당신은 jquery 전에 다음과 같은 코드를 가지고 있을 것입니다.
var $jq=jQuery.noConflict();
$jq('ul.menu').lavaLamp({
fx: "backout",
speed: 700
});
그리고 그들은 갈등이었습니다.
$를 (jQuery)로 변경할 수 있습니다.
언급URL : https://stackoverflow.com/questions/10807200/jquery-uncaught-typeerror-property-of-object-object-window-is-not-a-funct
'programing' 카테고리의 다른 글
스크롤바가 웹 페이지의 위치를 변경하는 것을 방지하는 방법은 무엇입니까? (0) | 2023.08.21 |
---|---|
MariaDB-JSON-document - exact where 절을 적용한 후 인덱스를 알지 못하고 배열에서 특정 요소만 선택할 수 없습니다. (0) | 2023.08.21 |
"error: option --single-version-external-managed not recognized"는 무엇을 의미합니까? (0) | 2023.08.21 |
테이블 사킬라를 만들 수 없습니다."address" "외부 키 제약 조건이 잘못 형성되었습니다." (0) | 2023.08.21 |
phpMyadmin에서 외부 키 열에 대한 인덱스를 삭제할 수 있습니다. (0) | 2023.08.21 |