Pregunta

Tengo un enlace con un controlador de clic aquí. El href está lleno de información que necesito. Pero no quiero que el clic para abrir este enlace. Así que hice event.preventDefault y funciona bien. Pero necesito apuntar = "_ Top" que alguien haga clic en el enlace. ¿Es esto incluso posible?

¿Fue útil?

Solución 2

cambiado el event.preventDefault(); funcionar con return false; e hizo una animación HTML con Scrolltop: $('html, body').animate({scrollTop:0});

Ahora el enlace no sigue el href pero se desplaza hasta la parte superior

Otros consejos

Si está evitando la acción predeterminada del enlace, lo tomo, está haciendo otra cosa. Si eso algo más implica cambiar la ubicación de la ventana, y desea cambiar la ubicación de la ventana superior, puede usar window.top para referirse a él y luego configure su ubicación a través del location propiedad, por ejemplo:

window.top.location = /* ... */;

Por ejemplo (ejemplo):

HTML:

<a id="theLink" href="http://jsbin.com">This link</a>
says jsbin.com and doesn't have <code>target="_top"</code>,
but will actually go to stackoverflow.com and do it
in the top window. (Seems a bit evil.)

JavaScript:

jQuery(function($) {

  $("#theLink").click(function(event) {
      window.top.location = "http://stackoverflow.com";
      return false;
  });

});

... Pero esto plantea la pregunta de por qué no dejar que el enlace haga su trabajo. :-)

O si estás tratando de agregar target="_top" a un enlace que no lo tiene cuando se hace clic, puede hacer:

var link = /* ...get the link element, e.g., $("#theLink") or whatever */;
$("#theLink").click(function() {
    link.attr("target", "_top");
});

Tenga en cuenta que soy no evitando la acción predeterminada allí.

Sin embargo, no me gustaría garantizar que eso funcione necesariamente, es mejor establecer el atributo antes de que hagan clic en el enlace.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top