History.pushState() 関数を使用しています。プッシュ状態オブジェクトに jQuery オブジェクトを保存していますが、statechange イベントが発生すると、jQuery オブジェクトを使用せずに状態オブジェクト データを取得していますが、「通常の」オブジェクトのみを取得しています。
var object = {link : $("#varianty")}; console.log(object.link); History.pushState(object,"test","test.php");
コンソールが jQuery オブジェクトを返す
jQuery(div#varianty.box)
しかし、statechange イベントが発生すると、次のようになります。
History.Adapter.bind(window,'statechange',function(){ var State = History.getState(); var link = State.data.link; console.log(リンク); });
コンソールがオブジェクトを返す
Object { length=1, 0={...}, more...}
詳細ダンプ
0 => オブジェクト { jQuery1304643255828=39, コンストラクター={...}} コンテキスト => オブジェクト { 場所 ={...}} 長さ => 1 セレクター => "#バリエーション"
状態オブジェクトjQueryオブジェクトを取得する機会はありますか? いいえの場合、クールな方法はありませんが、次の方法でオブジェクトを再度選択できます:
$(State.data.link.selector);
しかし、jQueryオブジェクトをpushStateオブジェクトに渡すのは無意味です...
$(this)
クリックイベントでオブジェクトをプッシュする必要があります。
アドバイスや解決策をありがとう!:)