En jQuery, puedo adjuntar un evento a todos los elementos como un párrafo, usando $("p") . ¿Existe algo similar para Paper.js? Intenté usar project.activeLayer.children.onMouseEnter pero no funcionó.
Estaba pensando en recorrer todos los niños dentro de la función onFrame , pero eso parece incorrecto. Probablemente adjuntará múltiples detectores de eventos al mismo elemento. Por lo tanto, todos los elementos tendrán muchos detectores de eventos adjuntos, pero no estoy seguro.
¿Cuál es la mejor manera de adjuntar detectores de eventos a todos los elementos actuales y futuros en una capa de proyecto en Paper.js?
Solo tiene que atacar un detector de eventos a la herramienta .
El argumento del event que se pasará al oyente tendrá una propiedad de item que es el elemento de destino del evento.
Aquí hay un boceto simple que demuestra esto.
tool.onMouseDown = (event) => console.log(event.item && event.item.name); let id = 0; drawRandomCircle(); setInterval(drawRandomCircle, 2000); new PointText({ content: 'Click on a circle to log its name', point: view.center + [0, -80], justification: 'center' }); function drawRandomCircle() { new Path.Circle({ center: Point.random() * view.size, radius: 50, fillColor: Color.random(), name: `item ${++id}` }); }