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').[...]

しかし今、次のエラーを取り除くことはできません (何も呼び出さずに):

キャッチされていない TypeError: 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クラスに関数を追加しようとしたことです。実際、javascript を単純に拡張することは、ObjectjQuery とそのプラグインではまったくサポートされていません。
拡張の質問に対するこの回答にはObject、jQueryUI の問題を解決する良い解決策があります。

于 2016-05-22T15:32:36.913 に答える