嗨,我有以下代码:
okBtn.addEventListener(Events.ON_CLICK, new EventListener()
{
@Override
public void onEvent(final Event arg0) throws Exception
{
//when the user clicks on ok, we take the current
//string from fckeditor...
String currentValue = fckEditor.getValue();
// set the string to preview to the current value
html.setContent(currentValue);
}
});
我面临的问题是这个 fckEditor.getValue() (fckEditor 类似于 textArea)调用存在延迟,因为 ok 操作比 fckEditor.getValue() 检索数据所需的操作更快,因此有时当我非常快地修改 fckEditor 中的文本并点击 okBtn 时,没有反映更改。
我想出了这个解决方案,
okBtn.addEventListener(Events.ON_CLICK, new EventListener()
{
@Override
public void onEvent(final Event arg0) throws Exception
{
String currentValue;
synchronized (fckEditor)
{
currentValue = fckEditor.getValue();
fckEditor.wait(100);
}
html.setContent(currentValue);
}
});
但是,我并不完全相信这将是最好的解决方案,因为我正在对延迟进行硬编码,.wait(100);
并且可能延迟在不同的计算机中可能会有所不同。所以最终其他环境可能需要或多或少的延迟。
如何让执行等到fckEditor.getValue();
调用完全完成?那么currentValue
可以保持正确的字符串并正确保存吗?
谢谢