Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

242
Views
Arrastrar y soltar: colocar en zonas de colocación no válidas

Estoy trabajando en una aplicación web de arrastrar y soltar usando Vue.JS y Vuex Store. La funcionalidad se implementa más o menos siguiendo los documentos mdn para "HTML Drag and Drop API" . Por lo tanto, mi componente Dropzone y los componentes de elementos arrastrables funcionan con event.preventDefault(). Como he anidado Dropzones, también uso event.stopPropagation() en Dropzones. Arrastrar y soltar con los componentes designados funciona bien.

Ilustración de zonas de caída anidadas

Mi problema es: cuando un usuario suelta un elemento arrastrable fuera de una zona de caída, la interfaz de usuario se rompe. Entonces, lo que estoy buscando es un detector de eventos en toda la aplicación para caídas en áreas de zona de caída no válidas.

Lo probé con un oyente global "dragend", pero parece que no funciona. También probé "mouseup", pero eso parece general. Esto es lo que probé:

 new Vue({ router, store, render: (h) => h(App), async created() { window.document.addEventListener('dragend', (e) => { console.log("global Dragend -------------- "); }) window.document.addEventListener('mouseup', (e) => { console.log("global Mouseup -------------- "); }) }, }).$mount('#app');

Espero que alguien sepa cómo implementar un EventListener en toda la aplicación que se active después de caídas fallidas.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede agregar una clase 'no drop' a los elementos que no desea que sean zonas de drop. Y luego, cuando se recibe el evento de caída, puede evitar la caída

¿Cómo evitar caer en un elemento div?

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!