1

因此,当按下后退按钮时,我遇到了动态创建的下拉列表不保留其值的问题。有人建议我使用 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。

popstate 事件监听器

为什么没有弹出警告信息?为什么不将下拉列表的选择更新到以前的状态?如果有人能给我任何提示,那就太好了。

谢谢您的帮助!

4

0 回答 0