我想创建一个按钮,它将运行先前运行的函数。即我点击buttonA来运行功能A然后点击按钮B来运行功能B我想有一个按钮,允许用户通过点击后退按钮返回到functionA。Jquery后退按钮。
我想我可以一个全局变量来保存先前的语句,但它不会工作,因为每个函数将运行会覆盖存储的语句。这里是一些psuodo代码样的解释我的意思
var globalvar;
globalvar = functionA;
function B { run globalvar};
我想创建一个按钮,它将运行先前运行的函数。即我点击buttonA来运行功能A然后点击按钮B来运行功能B我想有一个按钮,允许用户通过点击后退按钮返回到functionA。Jquery后退按钮。
我想我可以一个全局变量来保存先前的语句,但它不会工作,因为每个函数将运行会覆盖存储的语句。这里是一些psuodo代码样的解释我的意思
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一样或may not support hashchangehistory.go()
。
[可能在这个问题中找到已有的历史插件](http://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin)。 – kapa
@bažmegakapa是的,尽管如果不需要旧的浏览器支持,那些插件可能是矫枉过正的。我可能会使用[Modernizr](http://modernizr.com/)获得支持,并针对这些罕见的情况进行解决。 – Blazemonger
当然,只是认为值得添加它作为评论。有时你只是不想重新发明轮子:)。 Upvoted btw。 – kapa
JQuery的方法,并应用类回链接,如:
$(document).ready(function(){
$('a.back').click(function(){
parent.history.back();
return false;
});
});
类似:如何检测浏览器后退按钮事件 - 跨浏览器](http://stackoverflow.com/q/25806608/55075)在SO – kenorb