Какова наилучшая практика для изменения размера, например, эллипса или прямоугольника на другом элементе SVG?resize SVG Element: лучшая практика с несколькими элементами
Если я проверил событие onMouseMove
на эллипсе, когда я вышел из него, изменение размера прекратится. Я думал, чтобы реализовать слушателя на элементе svg
, а также передать информацию в эллипс, на котором я начал изменять размер. Это означает наличие общего метода Resize()
на элементе svg
, который переходит к Resize()
выбранного эллипса.
Нет ли более простого способа?
В настоящее время я делаю это с Dart
, но он должен быть таким же с javascript
.
Примером является элемент <svg>
с <g>
, содержащий <rect>
и <ellipse>
. Если я начну изменять размер прямоугольника на прямоугольнике.onMouseMove, то, как только я окажусь вне его, он перестанет изменять размер. Чтобы этого избежать, я должен использовать svg.onMouseMove и использовать метод изменения размера, который изменяет размер прямоугольника. Чтобы знать, что это прямоугольник, который нужно изменить, я проверяю onMouseDown и снова проверяю цель (MouseEvent.target на Dart. Не уверен, как определить, что я касаюсь, не выполняя громоздкую проверку на id, возможно). Обратите внимание, что я пытаюсь использовать прямоугольник для изменения размера эллипса. Я показываю прямоугольник только при изменении размера.
Привета. Ваш вопрос немного неясен. Вы хотите изменить размер элемента, перетащив границу элемента? Вы хотите изменить размер группы элементов одновременно или хотите, чтобы каждый элемент вашего svg изменялся отдельно? Когда вы начинаете изменять размер; на mousedown? –
Я добавил пример, чтобы сделать его более ясным. Надеюсь, теперь это ясно. (Я не могу использовать 'для написания html-тегов, хотя) – maugch