jquery / processing.js — вызов а processing.js функция из javascript / jquery

#javascript #jquery #processing #processing.js

#javascript #jquery #обработка #processing.js

Вопрос:

У меня настроено приложение, которое должно вызывать processing.js функция, но ни один из методов, которые я видел для доступа к экземпляру обработки, похоже, не работает. Вот моя настройка — в моем HTML у меня есть ссылка, при нажатии на которую необходимо вызвать функцию обработки:

 <div id="wrapper">
    <canvas id="donut" datasrc="donut.js" width="400" height="400"></canvas>
    <div id="creator">Create Donut</div>
</div>
 
 $('#creator').click(function(){
    //var p = Processing.instances[0]; //DOESN'T WORK
    //var p = $('#donut')[0]; //DOESN'T WORK
    var p = Processing.getInstanceById('donut');
    p.createDonut();
});
 

И в процессе обработки (donut.js ):

 void createDonut() {
    console.log('createDonut');
}
 

Когда я пытаюсь вызвать эту функцию, я получаю эту ошибку:

 Uncaught TypeError: Object function Processing(aElement, aCode) {
...
} has no method 'getInstanceById'
 

И ни один из прокомментированных методов привязки к обработке также не работает.

Ответ №1:

похоже, вам нужно иметь data-processing-sources атрибут на вашем холсте, чтобы он мог его найти, и похоже, что там должен быть файл .pde, такой, как data-processing-sources="donut.pde" вместо datasrc="donut.js"

я не уверен на 100% в .pde, поэтому, возможно, попробуйте data-processing-sources="donut.js" сначала

Комментарии:

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