因此,当按下后退按钮时,我遇到了动态创建的下拉列表不保留其值的问题。有人建议我使用 pushState。所以我相信 pushState 会正确触发。这是我的代码:
function doPushState(lsize) {
alert("push");
var state = { lotsize: lsize }, title = "lotsize";
history.pushState(state, title);
};
正如我所提到的,我有一个动态创建的下拉列表。因此,当用户回击时,应选择单击下一步之前下拉列表的选定值。这是下拉列表的图像:
所以我写了这样的popstate函数:
$(window).on('popstate', function(event) {
alert("alksdfjalksdjfasldf");
var state = event.originalEvent.state;
if (state) {
lsize1 = state.lotsize;
}
});
据我了解,当在浏览器上按下后退按钮或调用 history.back javascript 函数时,它应该触发我在 Chrome 中开发人员控制台的事件侦听器中看到的 popstate。
为什么没有弹出警告信息?为什么不将下拉列表的选择更新到以前的状态?如果有人能给我任何提示,那就太好了。
谢谢您的帮助!