Этот вопрос можно решить с помощью функции .hitTest()
, которая также применима к объекту Group
.
При использовании события мыши, такого как «щелчок», в функции обратного вызова просто используйте точкуот события и введите его в <groupName>.hitTest()
.
Обратите внимание, что параметры здесь могут быть весьма важными, убедитесь, что в качестве пути указана опция 'class' (или другая подходящая производная paperJS Item
, которую вы ищете. С точки зрения дополнительных опций, которые я определила длятест на попадание, чтобы определить только заполнение, так как все элементы, которые я выбрал, заполнены, если ваши элементы не заполнены, тогда установите «штрих» в true вместо «заливка», а затем убедитесь, что щелкаете по границе пути, а не по телуформа. Ниже приведен пример кода для реализации события мыши с последующим тестом нажатия:
tool.onMouseDown = function(event) {
var result = groupItem.hitTest(event.point, {fill: true, stroke: false, segments: false, class: Path});
console.log(result);
result.item.selected = true;