调整大小后的执行帖子(在窗口调整大小时不重复)

时间:2016-07-29 17:28:12

标签: javascript jquery jquery-ui

当用户调整对话框大小时,它会执行几十次以下的POST。有没有办法阻止它执行$ .post,直到用户释放鼠标按钮。

dialogClass: 'fixed-dialog',
  resize: function(event, ui) {
    $(this).dialog("option",
      ui.size.height + " x " + ui.size.width);
    $.post("savelayout.php", {
      menuheight: ui.size.height,
      menuwidth: ui.size.width
    });
  }

编辑:从示例中删除了更新的代码,因为它不起作用。

1 个答案:

答案 0 :(得分:0)

我的解决方案尝试检查是否在100毫秒内尝试了另一次调整大小。如果没有运行邮政编码。

var act;
dialogClass: 'fixed-dialog',
  resize: function(event, ui) {
    clearTimeout(act);
    act = setTimeout(function() {
      $(this).dialog("option",
        ui.size.height + " x " + ui.size.width);
      $.post("savelayout.php", {
        menuheight: ui.size.height,
        menuwidth: ui.size.width
      });
    }, 100);
  };

或者,如果你想要这样的方法,有一个jQuery插件:https://github.com/nielse63/jquery.resizeend