Jquery ui jQueryUI-Prototype:UncaughtTypeError:proto.plugins[i]。推送不是一个函数
我试图将工作的jQuery UI和原型库结合在一起,并最终实现了以下目标:Jquery ui jQueryUI-Prototype:UncaughtTypeError:proto.plugins[i]。推送不是一个函数,jquery-ui,prototypejs,conflicting-libraries,Jquery Ui,Prototypejs,Conflicting Libraries,我试图将工作的jQuery UI和原型库结合在一起,并最终实现了以下目标: <script type="text/javascript" src="/js/jquery-2.1.4.min.js"></script> <script type="text/javascript" src="/js/scripts.js"></script> <script type="text/javascript" src="/js/prototype.js
<script type="text/javascript" src="/js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="/js/scripts.js"></script>
<script type="text/javascript" src="/js/prototype.js"></script>
<script>
var jq = jQuery.noConflict();
// Code that uses other library's $ can follow here.
</script>
<script src="/js/jquery-ui.js"></script>
或
但是现在,我无法消除以下错误(不调用任何内容):
未捕获类型错误:proto.plugins[i]。推送不是函数
来自jquery-ui.js文件,包含以下部分:
$.ui.plugin = {
add: function( module, option, set ) {
var i,
proto = $.ui[ module ].prototype;
for ( i in set ) {
proto.plugins[ i ] = proto.plugins[ i ] || []; // Error fires here
proto.plugins[ i ].push( [ option, set[ i ] ] );
}
},
有解决办法吗?我遇到了同样的问题。原因是我试图向javascript的
对象
类添加函数。
事实上,jQuery根本不支持简单地扩展javascript的对象
,因此它的插件也不支持
有一个很好的解决方案,为我解决了jQueryUI的问题
jQuery('#myid').[...]
$.ui.plugin = {
add: function( module, option, set ) {
var i,
proto = $.ui[ module ].prototype;
for ( i in set ) {
proto.plugins[ i ] = proto.plugins[ i ] || []; // Error fires here
proto.plugins[ i ].push( [ option, set[ i ] ] );
}
},