Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

193
Visualizações
Propiedades de la función Javascript fabric.js de una línea

Soy un poco nuevo en javascript, así que solo trato de aprender aquí, pero ¿por qué una función devuelve un valor, pero la otra no? Permítanme explicar más:

Por ejemplo:

 ''' canvas.on({ 'object:moved': updateNewLineCoordinates, 'selection:created': updateNewLineCoordinates, 'selection:updated': updateNewLineCoordinates, 'mouse:dblclick': addingControlPoints }); '''

Cuando hago doble clic con el mouse, esta función se ejecuta

 ''' function addingControlPoints(o) { let obj = o.target; // Object is defined without issue. console.log(obj); } '''

La consola muestra las propiedades de la línea en la que hice doble clic.

Sin embargo, cuando selecciono la línea, esta función se ejecuta:

 ''' function updateNewLineCoordinates(o) { let obj = o.target; // Object is Undefined, why? console.log(obj); '''

La consola muestra que el objeto no está definido. No puedo entender el "por qué"?

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

La razón es que los eventos de selección tienen una forma ligeramente diferente a los eventos normales del mouse. Cuando haces clic con el mouse, se activa un evento que te dice en qué se hizo clic. Los eventos del mouse son muy estándar en Javascript, pero Fabric otorga a los eventos una propiedad de subTargets en caso de que su clic toque varios objetivos a la vez.

Los eventos de selection de Fabric, esperan devolver una lista de objetos dentro de la selección. Una buena manera de hacerse una idea de lo que está pasando es ir a la demostración de FabricJS Events y desmarcar todo excepto los eventos de selection . Verá esa selection: create devuelve un objeto con una propiedad e que representa el evento y una matriz selected que representa todo dentro de la selección.

Cuando selecciona algo en el lienzo haciendo clic, la propiedad de target del evento mouse:down será la misma que el objeto en la matriz selected de la selection: created , que también se activará. Por el contrario, cuando hace una selección de hacer clic y arrastrar, la selection:created contendrá potencialmente muchos más objetos que el mouse:down que inició la selección.

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda