3

以前に実行した関数を実行するボタンを作成したいと思います。つまり、buttonAをクリックしてFunction Aを実行し、次にボタンBをクリックしてfunctionBを実行します。ユーザーが戻るボタンをクリックしてfunctionAに戻ることができるボタンが必要です。

以前のステートメントを保持するグローバル変数ができると思いましたが、実行されたすべての関数が保存されたステートメントを上書きするため、機能しませんでした。これが私が何を意味するのかを説明するためのいくつかの疑似コードです

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 などの古いブラウザは、hashchangeまたはhistory.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 に答える