2012-01-23 2 views
0

내 웹 사이트에 라이트 박스를 설치 한 후 내 의견이 작동하지 않습니다. 나는 코드를보고 <head> (라이트 박스와 함께 제공된 것들)에 있던 자바 스크립트 링크를 Wordpress-Buddypress와 함께 제공되는 자바 스크립트 링크 위로 이동했습니다. Lightbox의 자바 스크립트 링크는 Wordpress와 함께 제공되는 자바 스크립트 링크 아래에있었습니다.어떻게 jQuery.noConflict()를 사용합니까?

스위치를 만든 후에 내 웹 사이트에서 댓글이 다시 작동하기 시작했지만 이제는 라이트 박스가 작동하지 않습니다.

Firebug를 사용하여 오류를 찾을 때이 오류가 발생합니다.

$("#videogallery a[rel]").overlay is not a function 

그 코드

내 라이트와 함께 파일을했다 "videolightbox.js"에서 비롯됩니다.

나는이 문제에 대해 많은 연구를했으며 jQuery.noConflict();을 사용할 필요가 있다고 생각하지만 사용법을 모른다. 나는 이걸보고 있었다. link

그러나 나는 그것을 사용하는 방법을 모른다는 이유로 작동하지 않는 것처럼 보였다. 나는 또한 모든 $()jQuery()으로 바꾸려고했지만 내 문제가 해결되지 않았습니다.

+0

"videolightbox.js"파일에서 $()를 jQuery()로 바꿨습니까? –

+0

네, 그랬습니다. 라이트 박스에서 내 자바 스크립트 링크의 구조는 무엇입니까 ( 만약 내가 그것을 변경합니까?) (나는 그것을 설정하는 방법을 이해할 수 없다) – user1164029

답변

0

스크립트로드 순서와 JQuery의 반복로드를주의 깊게 고려해야합니다. 일부 (잘하면 드문 경우)에서는 JQuery를로드하고이를 사용하는 코드를 설정 한 다음 JQuery를 다시로드하여 처음로드 한 후에 설정 한 이벤트를 버릴 수 있습니다.

나는 한 번 그 상황을 만났지만, 그 일이 벌어지는 세부 사항을 기억하지 못한다.

+0

나는 그것일지도 모른다. 라이트 박스의 경우 주석이 작동하지 않거나 라이트 박스가 작동을 멈추게됩니다. 내 소스 코드를 살펴보면''와'<스크립트 유형 = '텍스트/자바 스크립트'SRC =이 '도있다 HTTP : //www.pokemonsocial.com/wp-content/plugins/rs-buddypress-activity -refresh/jquery.timeago.js? 버전 = 3.3 '>'모두가 그들에 "jQuery를"가지고 있기 때문에,? 당신이이 충돌을 일으키는 생각 하는가 – user1164029

+0

별개의 가능성이있어 이후로는 문제가 있음이 .. JQuery와의 두 잠재적으로 서로 다른 버전을 사용하지만,'$'에 모두 할당 –

+0

을 예, 확인하고 그들은 모두 서로 다른 버전하는 난 여전히 못할 상황이 작동하도록 :/ – user1164029

1

하지만 사용법을 모릅니다.

var $j = jQuery.noConflict(); 

및 코드 예제의 많은 답변에 여기 http://api.jquery.com/jQuery.noConflict/

+0

답변을 주셔서 감사합니다. 링크를보고 어디에서 가져 왔는지 보았습니다. 나는 너무 혼란 스럽습니다. 그 코드를 넣을까요? 전에 넣어야합니까? 내 스크립트 내 ??? – user1164029

+0

@ user1164029 jQuery 라이브러리를로드 한 직후. 또는 jQuery 선택기 이전의 다른 곳에서도 사용할 수 있습니다. – Cheery

+0

'<스크립트 SRC는 = "http://www.pokemonsocial.com/jquery.tools.min.js는"유형 = "텍스트/자바 스크립트">는'그건 내 스크립트는 .. 난 아직도 안 내 첫 JQuery와입니다 해당 코드를 어디에 둘 것인지 이해하십시오. 바로 "스크립트"가 나오는 곳? – user1164029

0

주어진다

$ j를 (선택)에 $ (선택) 변경됩니다

$=jQuery.noConflict(); 

이제 $ ('# id')를 사용할 수 있습니다. css (...);

0

오류 아마도 실행되지 않는 나머지 코드를 일으키는, .overlay 함수 아니다 .overlay 함수 아니며 $가 잘 작동되는 것을 의미한다.

var test; test("#videogallery a[rel]").test() 
//TypeError: test is not a function <-- You would see this if $ wasn't working 

var test = function(){return {};}; 
test("#videogallery a[rel]").test(); 
//TypeError: test("#videogallery a[rel]").test is not a function <-- You see this because .overlay isn't working 

단순히 이전에 .overlay으로 전화를 걸려고한다는 의미입니다.

관련 문제