Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

253
Vistas
'Abrir en una nueva pestaña' haga clic en el enlace no abra el valor href

Estoy usando Vue2 y tengo la etiqueta <a> con href='#' y @click.prevent="someMethod()" .
Esto funciona como se esperaba en una situación en la que se hace clic con el botón izquierdo (está llamando a un método), pero si hago right click -> open in new tab , en ese caso está abriendo el valor href , lo cual es incorrecto.

¿Qué enfoque sugiere para llamar también a @click.prevent="someMethod()" cuando se abre desde situaciones sin clic izquierdo?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Si desea controlar el comportamiento de todos los clics, deberá agregar más de un controlador de eventos de clic.

Algo como esto. Aquí hay un JSFiddle de trabajo del código.

 <a href="#" @click.prevent="someMethod()" @auxclick.prevent="someMethod()" @contextmenu.prevent > Click Me </a> </div>

@click.prevent maneja eventos de clic izquierdo.

@auxclick.prevent maneja eventos de clic auxiliar (es decir, eventos que no son de clic izquierdo).

@contextmenu.prevent desactiva el menú contextual que aparece cuando hace clic derecho en el elemento.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Mantuve el enlace de anclaje con @click.prevent + agregué :href='sameMethodAsInClickEvent()' , por lo que ahora, si no es un clic izquierdo, llamará a href y aun así abrirá el enlace/método correcto.

about 4 years ago · Juan Pablo Isaza Denunciar

0

No puede anular el comportamiento del menú contextual nativo Abrir en una nueva pestaña; siempre abrirá el href del ancla en una nueva pestaña.

Sus únicas opciones son:

  • Evite que se muestre el menú contextual con @contextmenu.prevent . No es buena UX.
  • Evite el menú contextual, pero muestre su propio menú contextual personalizado con un elemento Abrir en una nueva pestaña que puede manejar usted mismo.
  • Usa un <button> . Este fue mi primer pensamiento ya que de todos modos no necesitas un ancla aquí porque no hay un vínculo real.
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda