1

2つの質問があります

  1. 私はhashchangeプラグインを使用しています....だから、ハッシュ変更が発生するたびに以下のような関数が呼び出されることを知りたいです...私のコードにはそのようなものがあり、コード関数は明らかに呼び出されていないようです

    $(document).ready(function()
    {
        // function here
    });
    
  2. 一方、http://abc.com/a.htm#http://abc.com/b.htm を http://abc.com/b.htm にする場合のように hashchange を削除 する 、コードは正常に動作します

問題は、私のページの構造が少し異なることです....ここでは、私が達成しようとしていることをより高いレベルで説明するページ構造のいじりです.jsfiddle.net/vBKWd/9 ...ハッシュ変更jusについて私のページ1のdiv cはページ2に置き換えられ、その逆も同様です....そして、以下に示すjs関数は、hashchangeの後ではなく、1回だけ呼び出されます

または、関数を div にバインドして、div を置き換えるたびに関数が呼び出されるようにする方法はありますか?

4

3 に答える 3

3

いいえ、readyハンドラーは、ハッシュの変更ではなく、ドキュメントの準備ができたときにのみ呼び出されます。hashchange代わりに、そのためにイベントを使用する必要があります。

$(window).hashchange(function () {
    // function here
});

サンプル: http://jsfiddle.net/vBKWd/2/

于 2011-06-30T05:03:20.633 に答える
-1

liveこの場合に 使用

$(document).ready(function()
{   
   $(selector).live(hashchange, function(){
    // your code goes here

    });
});
于 2011-06-30T05:13:35.450 に答える