我想创建一个按钮来运行以前运行的功能。即我单击按钮A 运行功能A 然后单击按钮B 运行功能B 我想要一个按钮,允许用户通过单击后退按钮返回到功能A。
我以为我可以用一个全局变量来保存以前的语句,但它不起作用,因为运行的每个函数都会覆盖存储的语句。这是一些伪代码来解释我的意思
var globalvar;
globalvar = functionA;
function B { run globalvar};
使用哈希超链接和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 这样的旧浏览器可能不支持 hashchange或history.go()
.
JQuery 方法,并将类应用回链接,例如:
$(document).ready(function(){
$('a.back').click(function(){
parent.history.back();
return false;
});
});