2015-12-08 1 views
0

Я пытаюсь заставить работать JQuery UI и прототип библиотеки вместе и, наконец, пришли к этому:JQuery UI - Прототип: Uncaught TypeError: proto.plugins [я] .С не является функцией

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

Но теперь, я не могу избавиться от следующей ошибки (без вызова Инг ничего):

Uncaught TypeError: proto.plugins[i].push is not a function

и происходит от 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 ] ]); 
     } 
    }, 

Есть ли решение?

ответ

0

Я столкнулся с той же проблемой. Причиной для меня стала попытка добавить функцию к классу javascript Object. На самом деле просто расширение javascript Object вообще не поддерживается jQuery - и тем самым его плагинами.
This answer to the question of extending Object имеет хорошее решение, которое решило проблему с jQueryUI для меня.

Смежные вопросы