Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CKEditor中的getText()方法没有最新文本_Javascript_Html_Ckeditor_Ckeditor4.x - Fatal编程技术网

Javascript CKEditor中的getText()方法没有最新文本

Javascript CKEditor中的getText()方法没有最新文本,javascript,html,ckeditor,ckeditor4.x,Javascript,Html,Ckeditor,Ckeditor4.x,我在每个按键上抓取用户在CKEditor文本区域中写入的文本,使用: var userText = CKEDITOR.instances.rawText; userText.on( 'key', function() { var sentences = userText.document.getBody().getText(); ... } 但是,我注意到getText()方法返回的文本落后一个键(即:如果我键入句子“This is a句子,”,getText()将返回“T

我在每个按键上抓取用户在CKEditor文本区域中写入的文本,使用:

var userText = CKEDITOR.instances.rawText;

userText.on( 'key', function() {
    var sentences = userText.document.getBody().getText();
     ...
}
但是,我注意到
getText()
方法返回的文本落后一个键(即:如果我键入句子“This is a句子,”,
getText()
将返回“This is a句子”(无句点)

有趣的是,如果我将
getBody()
方法的结果记录到控制台,我可以看到它包含整个文本,包括最近的按键。
getData()
方法返回文本,但带有HTML标记的方法也不考虑最近的按键

这里发生了什么?这是一个CKEditor问题还是与JavaScript相关

编辑:


我做了更多的谷歌搜索,发现提到了这个方法。它似乎捕获了最新的事件,然后在
getText()
方法中返回。我将进一步测试这个问题,并为我的问题添加一个答案,如果行得通的话。

你有没有尝试
打开('keyup',function(){
我刚刚尝试将事件更改为“keyup”,“keydown”,和“keypress”。它们似乎都没有启动。我正在将一些内容记录到控制台,它们只有在我使用“key”作为事件名称时才会显示。好的,尝试
打开('change',function(){
),这样就可以毫无疑问地在函数启动之前更新了输入。什么类型的元素是
usertext
?我就是这么做的(请参见编辑)。它似乎正在工作。usertext是CKEditor的一个实例。我将进行另一次编辑以添加此内容。您是否尝试过('keyup',function(){我刚刚尝试将事件更改为“keyup”、“keydown”和“keypress”。它们似乎都没有触发。我正在将一些内容记录到控制台,它们仅在我使用“key”时显示作为event name.OK,请尝试('change',function(){)上的
,这样毫无疑问输入在函数启动之前已经更新。什么类型的元素是
usertext
?这就是我所做的(请参阅编辑)。它似乎正在工作。usertext是CKEditor的一个实例。我将进行另一次编辑以添加它