我在使用jQuery和本地JavaScript(而不是prototype.js)时遇到问题。在使用以下代码时,jQuery 1.9.1出现错误信息:
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对象原型。