【发布时间】:2014-01-25 17:57:48
【问题描述】:
在另一个 SVG 元素上调整椭圆或矩形的最佳做法是什么?
如果我不在椭圆上检查onMouseMove 事件,则调整大小将停止。我正在考虑在svg 元素上实现监听器,并将信息传递给我开始调整大小的椭圆。这意味着在svg 元素上有一个通用的Resize() 方法,该方法传递给选定椭圆的Resize()。
没有更简单的方法吗?
我目前正在使用Dart,但它应该与javascript 相同。
一个例子是一个<svg> 元素,其中一个<g> 包含<rect> 和一个<ellipse>。如果我开始在 rectangle.onMouseMove 上调整矩形的大小,那么当我在它外面时,它就会停止调整大小。为了避免这种情况,我必须使用 svg.onMouseMove,并使用调整矩形大小的 resize 方法。要知道它是要调整大小的矩形,我检查 onMouseDown 并再次检查目标(Dart 上的 MouseEvent.target。不知道如何检测我正在触摸的内容,而无需对 id 进行繁琐的检查)。请注意,我要完成的是使用矩形来调整椭圆的大小。我只在调整大小时显示矩形。
【问题讨论】:
-
嗨。你的问题有点不清楚。你想通过拖动元素的边框来调整元素的大小吗?您想同时调整一组元素的大小,还是想让 svg 的每个元素分别调整大小?你什么时候开始调整大小;鼠标按下?
-
我添加了一个示例以使其更清晰。我希望现在很清楚。 (虽然我不能用`写html标签)