我在使用jQuery和原生JavaScript(而不是 prototype.js)时遇到问题。当使用以下代码时,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的插件,所以为了兼容性原因它必须使用旧版本。
是否有任何已知的问题或解决方案?
谷歌搜索实际上显示出我喜欢使用jQuery.noConflict()
和私人功能包装的解决方案。但如上所述,我没有使用prototype.js,但原生 JS对象原型。
你能为我们提供一个小提琴 –
可能的重复[原型对象在JavaScript中断jQuery?](http://stackoverflow.com/questions/1827458/prototyping-object-in-javascript-breaks-jquery) – Alnitak