1

私はバックボーン アプリを構築しており、バックボーンの pushState の使用方法について学んでいます。私のアプリのメイン ビューは、多数の項目を表示する「フィード」ビューです。アイテムをクリックすると、新しいアイテムの「表示」ビューが読み込まれ、ページに挿入されます。

現在、pushState true を使用してアプリを正常に取得し、閲覧した各記事のレコードをブラウザーの履歴に入力しています。

ただし、ブラウザーの履歴を「戻る」ときに、イベントをトリガーして、ショー ビューで何かを実行したいと考えています。ユーザーが履歴を前後に移動することを選択したことを検出するために使用できるバックボーンまたは jQuery イベント/関数はありますか?

次のようなバックボーン イベントを使用すると便利です。

 events: {
  'dblclick':'test'
 },
4

1 に答える 1

3

アプリ コントローラーのビューを使用している場合は、ウィンドウ オブジェクトをelオプションとしてビューに渡すというこのトリックを使用できます。ビューにウィンドウ オブジェクトを保持すると、イベント ハッシュにバインドされたすべてのウィンドウ イベントを取得して、ハッシュのようなイベントを追加しpopstate、戻るボタン イベントを取得できます。

私はすぐにこれをテストしたので、あなたのために働くはずです:

var App = Backbone.View.extend({
    events: {
      "popstate":          "onPopState"
    },
    onPopState : function onPopState() {
        console.log("onPopState");
    }
});
var MainApp = new App({ el : window });
于 2012-12-18T20:32:37.930 に答える