3

ナビゲートには sammy.js を使用し、リンクを変更した後に発生するイベントを処理する必要があります。たとえば、ユーザーが「#/contact」リンクをクリックすると、ナビゲーションが成功した後、イベントがトリガーされます。「after」プロパティを見つけて、このコードを挿入しようとしました:

this.after('#/contact', function () {
    //my code
});

しかし、それは実行されていません。私は何を間違っていますか?

実際、問題は次の状況から生じています。

ホームと連絡先の 2 つのタブがあるページがあります。連絡先には Google マップが含まれています。

ユーザーが最初に [連絡先] に移動すると、Google マップが正しく読み込まれますが、ユーザーが [ホーム] タブに移動してから [連絡先] タブに切り替えると、Google マップが正しく読み込まれず、左上に小さな地図しか表示されません。コーナー。

助言がありますか?

前もって感謝します!

4

2 に答える 2

3

これを処理するには、カスタム イベントを使用することをお勧めします。

var app = $.sammy(function() {

    this.get('#/contact', function() {
        this.trigger('myEvent', { myData: 'This a contact!' });
    });

});

または、実行されたすべてのルートをリッスンする場合は、次を試してください。

this.bind('run-route', function() {
    console.log("I got routed");
}
于 2012-10-29T05:58:30.337 に答える
0

私があなたを正しく理解しているなら、あなたはこれをするだけです:

location.hash = "contact";

そして、ルート イベントが発生します。

于 2013-01-02T07:51:23.593 に答える