0

我正在尝试将 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>
<script>
    var jq = jQuery.noConflict();
    // Code that uses other library's $ can follow here.
</script>
<script src="/js/jquery-ui.js"></script>

并像这样调用 jQuery:

jQuery(function($){
    $('#myid').[...]
});

或者

jQuery('#myid').[...]

但是现在,我无法摆脱以下错误(不调用任何东西):

未捕获的类型错误:proto.plugins[i].push 不是函数

并且来自 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 ] ] );
        }
    },

有解决办法吗?

4

1 回答 1

2

我遇到了同样的问题。我的原因是我试图向 javascript 的Object类添加一个函数。事实上,ObjectjQuery 根本不支持简单地扩展 javascript,因此它的插件也不支持。
这个对扩展问题的回答Object有一个很好的解决方案,它为我解决了 jQueryUI 的问题。

于 2016-05-22T15:32:36.913 回答