jQuery bind popstate事件未传递

前端之家收集整理的这篇文章主要介绍了jQuery bind popstate事件未传递前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我为History API编写了一个小演示。我正在努力这样做:
$(window).bind('popstate',function(event) {
        console.log('pop: ' + event.state);
    });

当我点击“上一步”按钮时,它会记录“pop:undefined”…

但是如果我这样做,事情是按预期工作:

window.onpopstate = function(event) {
    console.log('pop: ' + event.state);
};

它日志’pop:[object Object]’这一次…

所以它就像jQuery不传递事件对象到回调。
jQuery有问题吗?还是我乱了东西?

解决方法

首先,你得到一个标准化的jQuery事件对象。在第二个例子中,你得到浏览器的事件对象。我假设jQuery没有完成所有新的HTML5事件和相关属性的规范化。在此之前,您需要访问原始事件对象。你可以通过jEvent事件对象通过originalEvent属性。您可以在这里找到一些其他详细信息和示例: stackoverflow.com/questions/7860960/popstate-returns-event-state-is-undefined
event.originalEvent.state

猜你在找的jQuery相关文章