我想知道什么会导致window.addEventListner('popstate', foo, false) window.attachEvent('onpopstate', foo)
并且window.onpopstate=foo
不会触发函数 foo. 我们有与此类似的代码,在生产中它不会触发,但在开发中它会触发。是否可以通过 JS 禁用 popstate 事件或导致某种冲突或竞争条件发生?
编辑(古斯汀):+示例代码
PopStateEvent.js(完整清单,使用 jQuery 1.9.1):
$(window).bind('popstate', function () { alert("Pop state event received!"); });
如果我使用IE 10 (10.0.9200.16484) 测试这个非常简单的示例,我永远不会收到弹出状态事件(即警告框永远不会出现)。即使我离开并通过 IE 的后退按钮返回也不行。即这个 Q/A不能解决我的问题。
使用Chrome 24,一切正常。