我正在使用 History.pushState() 函数,我正在将一个 jQuery 对象保存到推送状态对象中,但是当触发 statechange 事件时,我正在检索没有 jQuery 对象的状态对象数据,而只有“普通”对象:
var object = {link : $("#varianty")}; 控制台.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 链接 = State.data.link; 控制台.log(链接); });
控制台返回一个对象
Object { length=1, 0={...}, more...}
详细转储
0 => 对象 { jQuery1304643255828=39, 构造函数={...}} 上下文 => 对象 { 位置 ={...}} 长度 => 1 选择器=>“#varianty”
是否有机会在状态对象 jQuery 对象中进行检索,如果没有,则没有很酷的方法,但我可以通过以下方式再次选择对象:
$(State.data.link.selector);
但是通过pushState对象传递jQuery对象是没有用的......
需要它$(this)
在点击事件上推送对象。
感谢您的任何建议或解决方案!:)