3

我想创建一个按钮来运行以前运行的功能。即我单击按钮A 运行功能A 然后单击按钮B 运行功能B 我想要一个按钮,允许用户通过单击后退按钮返回到功能A。

我以为我可以用一个全局变量来保存以前的语句,但它不起作用,因为运行的每个函数都会覆盖存储的语句。这是一些伪代码来解释我的意思

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

2 回答 2

12

使用哈希超链接和hashchange事件。在 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>

现在,每当用户单击浏览器的“后退”按钮(或触发 的 HTML 按钮history.go(-1))时,它将返回到之前选择的任何散列并再次触发 hashchange 事件。

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

警告:像 IE7 这样的旧浏览器可能不支持 hashchangehistory.go().

于 2012-05-01T14:35:21.027 回答
3

JQuery 方法,并将类应用回链接,例如:

$(document).ready(function(){
  $('a.back').click(function(){
    parent.history.back();
    return false;
  });
});
于 2012-12-07T12:21:35.133 回答