我写我自己的草图处理并将其插入使用processingjs在页面上和Ajax像这样:如何知道处理js草图何时被加载?
$.getScript("js/libs/processingjs.js", function() {
$('#sketch').each(function() {
Processing.loadSketchFromSources(this, [$(this).data('processing-sources')]);
});
});
这里画布#sketch
指的是:
<canvas data-processing-sources="first-sketch.pde" id='sketch'></canvas>
这工作,但我也想用Javascript使用草图进行交互。当我在(萤火虫)键入此控制台一切都很正常:
var sketch = Processing.getInstanceById('sketch');
sketch.addTweet(30, 30, 100);
(addTweet是小品的功能,可一旦草图已被加载) 但是,当我把它的JavaScript内部等所以:
$.getScript("js/libs/processingjs.js", function() {
$('#sketch').each(function() {
Processing.loadSketchFromSources(this, [$(this).data('processing-sources')]);
var sketch = Processing.getInstanceById('sketch');
sketch.addTweet(30, 30, 100);
});
});
我得到的错误:
Uncaught TypeError: Cannot call method 'addTweet' of undefined
我觉得草图并没有在这一点上被加载,有回调或运行代码有道一旦它已经加载?
我包括在script
标签processingjs LIB时收到同样的错误。并在jQuery.ready上运行代码。
似乎这还没有解决。 [这是一些见解](https://processing-js.lighthouseapp.com/projects/41284/tickets/1887)。 – 2012-08-24 03:40:20
我会建议只是轮询'setInterval',直到实例不再返回'undefined' – 2012-08-24 03:42:10