当用户调整对话框大小时,它会执行几十次以下的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
});
}
编辑:从示例中删除了更新的代码,因为它不起作用。
答案 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。