gpt4 book ai didi

javascript - ckeditor getData() 在源模式下返回陈旧数据(最后一次更改丢失)

转载 作者:数据小太阳 更新时间:2023-10-29 05:32:56 25 4
gpt4 key购买 nike

尝试在http://ckeditor.com/demo 上输入源代码 模式调试使用CKEDITOR.instances["editor1"].on("key", function(e) {console.log("change: "+ e.editor.getData())}) 在控制台中

我总是在控制台中看到少一个字符,所以如果我输入 abc 我会看到 ab

注意:因为 https://dev.ckeditor.com/ticket/12031Guidelines 而使用按键事件和 How to detect CKEditor source mode on change event

最佳答案

在这里用我的分析写一个详细的答案。

正如我之前所说,getData() 甚至在击键被记录为编辑器中文本的一部分之前就已被获取。这就是为什么你看到以前的数据(按键之前的数据)

由于暴露的代码非常少,我无法在当前情况下为您提供太多帮助。我不太确定您是如何使用它的,以及主持它的线路是什么。

但是,我会在我的分析中发表——我创建了一个 waitfunc() ,它只设置超时 5 秒。我这样做是为了观察是先在编辑器中记录 key 还是先获取数据。

function waitfunc() {
setTimeout(function() {
console.log("wait")
}, 5000)
}

CKEDITOR.instances["editor1"].on("key", function(e) {
waitfunc();
console.log("change: " + e.editor.getData());
waitfunc();
})

我看到数据首先被获取。然后新按下的键被添加为编辑器的一部分。我在段落末尾添加了“c”。

Both timeouts happen after the data is grabbed

所以,请看一次代码(代码行的顺序或其他)。如果可能的话,分享更多代码,我可以提供更多帮助。

希望对您有所帮助。

关于javascript - ckeditor getData() 在源模式下返回陈旧数据(最后一次更改丢失),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33261102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com