我有一个带有onClick处理程序的自定义小部件。问题是当用户双击元素时,第二次单击也会触发重复调用。试图通过使用onDoubleClick处理程序来避免这种情况,在双击时,调用将进入该处理程序,但它只在执行onClick之后才会执行。因此,重复的电话仍在发生。
已经看到了在Javascript中使用timer来避免重复请求的解决方案。在GWT中是否可能有类似的东西?
或者有其他更好的方法来避免在GWT中双击元素时重复的请求。
发布于 2016-07-14 15:14:32
How to prevent DoubleSubmit in a GWT application?
以上链接中给出的答案将有助于处理按钮的双击。
但是,如果它是一个自定义小部件,并且.setEnabled(false)不能工作,我们可以有一个静态的布尔变量,条件检查它的false是否允许,并在单击一次后将其设置为true,然后在成功时将其设置为false。如果双击,布尔值值将为真,而if条件将失败。
发布于 2016-06-20 13:59:11
将小部件替换为“加载旋转动画图像”,只要小部件正在执行此操作。一旦准备好,就用小部件替换它。
由于图像不包含单击处理程序,因此不会收到第二次单击。
发布于 2016-07-11 15:27:28
我使用当前时间(以毫秒为单位)来防止双击,并使用此方法的最后处理来检查它。如果在第一次单击和第二次单击之间不到一秒钟,则第二次单击将被阻止。
long lastClick = 0;
if (lastClick < System.currentTimeMillis() - 1000)
{
// do logic
}
lastClick = System.currentTimeMillis();https://stackoverflow.com/questions/37919877
复制相似问题