Darren Murtagh
Darren Murtagh

Reputation: 591

Jquery Back Button.

I want to create a button which will run a previously ran function. ie i click buttonA to run Function A then click button B to run functionB i want to have a button which allows the user to go back to functionA by clicking a back button.

i thought i could a global variable to hold previous statements but it would not work as every function ran would overwrite the stored statements. here is some psuodo code to kind of explain what i mean

var globalvar;
globalvar = functionA;
function B { run globalvar};

Upvotes: 3

Views: 21931

Answers (2)

STEEL
STEEL

Reputation: 10067

JQuery method, and apply the class back to the link, e.g.:

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

Upvotes: 3

Blazemonger
Blazemonger

Reputation: 92933

Use hash hyperlinks and the hashchange event. In jQuery:

$(window).on('hashchange',function() {
    var hash = location.hash.substring(1); // strip the leading # symbol
    // now run code based on whatever the value of 'hash' is
});

HTML:

<a href="#hash1">function A</a>
<a href="#hash2">function B</a>

Now, whenever the user clicks the browser's "back" button (or an HTML button that triggers history.go(-1)), it will go back to whatever hash was previously selected and trigger the hashchange event again.

http://jsfiddle.net/mblase75/hL5FZ/

Warning: older browsers like IE7 may not support hashchange or history.go().

Upvotes: 12

Related Questions