Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过jquery ajax加载处理js?_Jquery_Processing.js - Fatal编程技术网

通过jquery ajax加载处理js?

通过jquery ajax加载处理js?,jquery,processing.js,Jquery,Processing.js,我在通过jquery ajax调用加载处理js脚本时遇到问题。草图在其自己的文件中运行良好,但当我将其加载到div中时,它不起作用。我需要以某种方式初始化草图吗?我已经搜索了正在处理的js文档,但找不到它。谢谢 丑陋的测试脚本 <a href="#" onclick="$.ajax({url: '/test', context: document.body, success: function(text){ $('#container').html(text); }});"&g

我在通过jquery ajax调用加载处理js脚本时遇到问题。草图在其自己的文件中运行良好,但当我将其加载到div中时,它不起作用。我需要以某种方式初始化草图吗?我已经搜索了正在处理的js文档,但找不到它。谢谢

丑陋的测试脚本

<a href="#" onclick="$.ajax({url: '/test',  context: document.body,  success: function(text){    $('#container').html(text);  }});">Test</a>

其中“/test”将包含

<script type="application/processing" data-processing-target="pjs">
// code here
</script>
<canvas width="760" height="500" id="pjs"></canvas>

//代码在这里

如果要从文件中提取源代码,请为要加载到的画布创建一个新的处理实例,而不是:

Processing.loadSketchFromSources($('#pjs'), ['mysketch.pde']);
第二个参数是数组,因为草图可以由多个源文件组成

如果是动态代码,只需构建一个新的处理实例:

new Processing($('#pjs'), "/* full sketch code goes here. */");

您的帖子似乎建议对“/test”的ajax调用生成的内容进行某种程度的控制,因此我希望它只生成草图代码,而不使用脚本和canvas标记,让ajax回调函数在页面上生成canvas元素,然后进行新的处理($(“#canvasid”),callbackdata)调用Processing.js,以便将草图代码加载到您刚刚制作的画布中。

如果您正在使用rails js.erb,这里有一些示例代码:js=''auto',:locals=>{:data=>@data}%>';新处理('Processing-canvas2',js);注意-当我传递$(“…”)时它对我不起作用-只需传递元素的id字符串-没有jquery位