Не добавляйте методы в неправильный прототип - PullRequest
0 голосов
/ 31 декабря 2018

Я использую jQuery с приложением Electron, но всегда получаю ошибку, которая, кажется, соответствует функции анимации jQuery.

Я загружаю jQuery через стандартный узел: требуют:

<script type="text/javascript">window.$ = window.jQuery = require('jquery');</script>

Когда я включаю jQuery через скрипт src, я получаю ту же ошибку (jQuery версии 3.3.1)

, например, вызов $("#loading-overlay").fadeOut(200); вызывает:

Uncaught TypeError: (Animation.tweeners[prop] || []).concat is not a function
    at createTween ([PATH]/node_modules/jquery/dist/jquery.js:6848)
    at Object.defaultPrefilter ([PATH]/node_modules/jquery/dist/jquery.js:7021)
    at Animation ([PATH]/node_modules/jquery/dist/jquery.js:7160)
    at HTMLDivElement.doAnimation ([PATH]/node_modules/jquery/dist/jquery.js:7293)
    at Function.dequeue ([PATH]/node_modules/jquery/dist/jquery.js:4376)
    at HTMLDivElement.<anonymous> ([PATH]/node_modules/jquery/dist/jquery.js:4418)
    at Function.each ([PATH]/node_modules/jquery/dist/jquery.js:354)
    at jQuery.fn.init.each ([PATH]/node_modules/jquery/dist/jquery.js:189)
    at jQuery.fn.init.queue ([PATH]/node_modules/jquery/dist/jquery.js:4411)
    at jQuery.fn.init.animate ([PATH]/node_modules/jquery/dist/jquery.js:7304)

I 'У меня только эта проблема с Electron (версия 4.0).Кто-нибудь знает, чем это вызвано?

1 Ответ

0 голосов
/ 01 января 2019

ОК, это была глупость с моей стороны.Автозаполнение заставило меня добавить метод «each» в прототип Object вместо моего пользовательского класса ... Это явно запутало jQuery, потому что он нашел свойство «each» в Animation.tweeners (потому что он был во всех объектах).

Но я узнал, что, сталкиваясь с действительно запутанной ошибкой, которая не имеет смысла, проверьте, не перезаписали ли вы случайно прототип, который вы не хотели менять ...

...