【问题标题】:Jquery Back Button.Jquery 后退按钮。
【发布时间】:2012-05-01 14:33:01
【问题描述】:

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

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

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

【问题讨论】:

标签: jquery back


【解决方案1】:

使用哈希超链接和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>

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

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

警告:IE7 等旧版浏览器 may not support hashchangehistory.go()

【讨论】:

  • @bažmegakapa 是的,尽管如果不需要旧版浏览器支持,那么这些插件可能就有点过头了。我可能会使用Modernizr 来获得支持,并在那些罕见的情况下解决它。
  • 当然,只是认为值得将其添加为评论。有时您只是不想重新发明轮子:)。顺便说一句。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多