2011-03-04 2 views
1

고객이 iFrame을 사용하여 웹 사이트에 퍼가기를 원하는 사이트가 있습니다.jQuery.noConflict()를 사용하여 IE에서 jQuery 충돌을 해결하는 방법은 무엇입니까?

개체가이 속성 또는 메서드를 지원하지 않습니다 : 불행하게도, 그것은 비참한 IE 6, 7, 8

문제를 제외하고 모든 브라우저에서 작동하는 것은 우리가 얻을 수 있다는 것입니다.

우리의 jQuery에서 $를 처음 언급했습니다. 우리는 이것이 왜 일어나는 지 알고 있습니다. 분명히 그것은 고객 사이트에있는 기존 JS 라이브러리와의 충돌 때문입니다. 그러나 우리가 모르는 것은 그것을 고치는 방법입니다.

jQuery 1.4.2를 사용하는 Rails 3 애플리케이션입니다. 우리는 을 모른다.을 넣고 jQuery.noConflict()을 부르면된다. 또한 우리가하고있는 수많은 jQuery 플러그인에 어떤 영향을 미치는지 혼란 스럽습니다. 아무도 통찰력을 제공 할 수 있습니까?

답변

2

noConflict()는 사용할 수 $ 그래서 다른 라이브러리의 컨트롤을 제공합니다.

이 코드로 모든 jQuery 코드를 래핑합니다. 당신이 기대처럼 당신이 그것을 사용할 수 있도록

$.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    }); 

이 효과적으로 준비 기능을 다시 $을 전달합니다.

$j=jQuery.noConflict(); 
$j('#anElement').addClass('red'); 
모든 플러그인을 사용하여 플러그인을 처리하기위한

2 어떤 연결하면 $

대신에 jQuery를 사용 : 예

+0

+1 너에게 이것은 내 것보다 낫다. – mcgrailm

0

jQuery.noConflict();을 (라이브러리를로드 한 후) 페이지에서 실행되는 첫 번째 JS 문으로 입력하십시오.

$(document).ready(function() { 
    jQuery.noConflict(); 
}); 
0

1

$something=jQuery.noConflict(); 

now $something becomes $, 

-이 (가) $보다 $을 사용 중입니다.

//your plugin file 
(function(){ 
$=jQuery; 
})(); 
관련 문제