Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Javascript 是否有任何Draw2d.js画布销毁方法?_Javascript_Jquery Ui_Draw2d Js - Fatal编程技术网

Javascript 是否有任何Draw2d.js画布销毁方法?

Javascript 是否有任何Draw2d.js画布销毁方法?,javascript,jquery-ui,draw2d-js,Javascript,Jquery Ui,Draw2d Js,我有一个关于Draw2D.js的问题。我正在使用JQuery ui调整画布的大小,但是当我调整画布的大小时,我必须销毁它并创建一个新的画布。。。否则我会有很多画布重叠。如果我调用canvas.destroy()什么都不起作用(如文档中所述) 有没有办法对画布进行软破坏?jQueryUI中是否存在任何调整大小的功能缺陷 谢谢@MacGyver,我在第二个提议中找到了解决方案。我们有 要编辑SVG DOM:) 我在这里分享我的解决方案! 这可能会有帮助 通过手动设置宽度和高度,您应该能够动态更改画布

我有一个关于Draw2D.js的问题。我正在使用JQuery ui调整画布的大小,但是当我调整画布的大小时,我必须销毁它并创建一个新的画布。。。否则我会有很多画布重叠。如果我调用
canvas.destroy()
什么都不起作用(如文档中所述)

有没有办法对画布进行软破坏?jQueryUI中是否存在任何调整大小的功能缺陷

谢谢@MacGyver,我在第二个提议中找到了解决方案。我们有 要编辑SVG DOM:)

我在这里分享我的解决方案! 这可能会有帮助


通过手动设置宽度和高度,您应该能够动态更改画布的DOM节点。这里的宽度是2500px,高度是2500px

<div onselectstart="javascript:/*IE8 hack*/return false" id="draw2d" style="width:2500px; height:2500px;-webkit-tap-highlight-color: rgba(0,0,0,0);"></div>

canvas.setScrollArea("draw2d");
然后调用
app.layout()
函数

参考:

http://draw2d.org/draw2d_touch/jsdoc/#!/api/draw2d.Canvas

今天,我找到了另一种解决方法。它实际上回答了你的实际问题。clear()是一个用draw2d touch编写的函数,用于清除画布。它本质上是raphael.js功能的包装器,但负责draw2d touch功能,如清除事件等。是的,我使用的是canvas.clear(),但我所做的需要一个软canvas.destroy(),它不存在,但使用的是您现在提供的解决方案。当我们使用canvas.clear()时,它只会销毁画布中的对象,canvas.destroy()会销毁对象、画布(Raphael paper.remove();)和事件,我们无法再次重新创建它。还有thx
http://draw2d.org/draw2d_touch/jsdoc/#!/api/draw2d.Canvas