기본 JavaScript ( prototype.js)와 함께 jQuery를 사용하는 데 문제가 있습니다. 다음 코드를 사용하면 jquery 1.9.1에 오류 메시지가 표시됩니다.jQuery가 기본 프로토 타입과 충돌합니다
Object.prototype.myVeryGreatFunction = function() {
// ...
}
[Error] TypeError: undefined is not a function (evaluating 'U[a].exec(s)')
ft (jquery.min.js, line 4)
wt (jquery.min.js, line 4)
st (jquery.min.js, line 4)
find (jquery.min.js, line 4)
init (jquery.min.js, line 3)
b (jquery.min.js, line 3)
(anonymous function) (read.control.js, line 59)
c (jquery.min.js, line 3)
fireWith (jquery.min.js, line 3)
ready (jquery.min.js, line 3)
H (jquery.min.js, line 3)
프로토 타입 정의를 제거하면 모든 것이 잘 작동합니다. 불행히도 jQuery는 CMS 용 플러그인에 있기 때문에 쉽게 업데이트 할 수 없으므로 이전 버전과의 호환성을 위해 작동해야합니다.
알려진 문제가 있습니까?
Google 검색은 실제로 jQuery.noConflict()
과 개인 기능 포장을 사용하는 것과 같은 솔루션을 보여줍니다. 하지만 위에서 언급 한 것처럼 prototype.js를 사용하지 않고 네이티브 JS 객체 프로토 타이핑을 사용합니다.
당신이 우리의 바이올린 –
가능한 중복 제공 할 수있다 [자바 스크립트 jQuery를 나누기에 개체 프로토 타입을?] (http://stackoverflow.com/questions/1827458/prototyping-object-in-javascript-breaks-jquery) – Alnitak