javascript - Viewport.el.mask根本不出现在javascript中,太快了?

标签 javascript extjs openlayers viewport mask

我将该代码作为我的保存函数的第一行

window.viewport.el.mask('Saving...','saving');

它对于删除功能来说效果很好,因为它需要更长的时间。如果我使用超时,我可以正确地看到掩码,但如果没有超时,它只会保存。

问题是,如果速度快的话,用户实际上可以保存两倍甚至更多。 mask 在删除时工作得很好,所以我想知道您是否知道为什么它在没有超时的情况下无法正确显示?

此外,我的超时总是永远卡住页面。我是 JavaScript 和计算机科学的新手。不管怎样谢谢你们。

最佳答案

嗯,一种可能是在服务器上引入延迟,但这通常不是一个好主意。在这些情况下,我所做的是,当我需要保存的表单或网格不脏时,禁用保存按钮。所以顺序如下:

  1. 不脏 - 按钮已禁用
  2. 用户编辑,脏 - 按钮已启用
  3. 用户点击保存 - 请求发送到服务器
  4. 从服务器返回成功响应 - 按钮被禁用,因为现在表单/网格不再脏了

无论响应速度有多快,如果 mask 有时间显示或不显示,按钮就不能因为相同的“肮脏”而被单击两次。

关于javascript - Viewport.el.mask根本不出现在javascript中,太快了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23915591/

相关文章:

javascript - 如何降级/安装特定版本的 jspm?

javascript - d3.time.format.multi 不是函数

ExtJS 4 动态更改网格存储

reactjs - 如何强制一个 react 组件不重新渲染?

javascript - 从对话框附加 html 后,JqueryUI DateTimePicker 按钮停止工作

javascript - 如何从 Ext.Template 和 Ext.apply 方法执行本地方法

extjs - 设置模型的新属性并且不将其标记为脏

dictionary - OpenLayers:注册功能来标记事件不起作用

openlayers - 边界如何在 OpenLayers 3 中工作?

javascript - 如何通过 paho mqtt js 客户端强制进行非安全连接?