#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. Да, я думаю, проблема заключалась в том, что я пытался работать со старой библиотекой обработки, используя современный код обработки.