Tengo la función jQuery actual, que debería hacer que el enlace al que está asignado funcione como un enlace "Volver a la página anterior":

function goback() {
$('a').click(function(){
        parent.history.back();
        return false;
    });
}

Aunque solo funciona si hace clic en dos veces en el enlace. O, por ejemplo, hace clic en un enlace con el onclick="goback();" asignado, y luego hace clic en otros enlaces de anclaje, luego vuelve.

¿Cómo puedo hacerlo, de modo que cuando un enlace con onclick="goback();" asignado, vuelve a la página anterior de inmediato?

0
oliverbj 31 ago. 2014 a las 17:39

2 respuestas

La mejor respuesta

Prueba esto

Html

<a href="javascript:void(0)" onclick="javascript:goback();">Text</a>

Javascript

function goback() {
    window.history.back();
}
1
kefy 31 ago. 2014 a las 13:45

Está creando la función dentro de la función de retroceso en sí, lo que significa que no está vinculada en el primer clic.

Solo use la funcionalidad nativa "on" dentro de jQuery para vincular sus botones a la función en el momento de la carga del documento, p.

$(document).ready(function () {

    $( "a" ).on( "click", function() {
         parent.history.back();
         return false;
    });

});

Si no desea que se unan todos los anclajes, use una ID o un selector de clase CSS. El uso de controladores onclick asignados manualmente en el marcado se considera un poco anticuado hoy en día.

1
Jeff Watkins 31 ago. 2014 a las 13:42