this.editor.txt.insertHtml is not a function"
时间: 2023-09-30 09:08:42 浏览: 47
如果提示 "this.editor.txt.insertHtml is not a function",可能是因为 wangeditor 版本问题。在旧版本的 wangeditor 中,insertHtml 方法被命名为 insertHTML(大写字母 L)。所以你可以尝试使用 insertHTML 方法来插入 HTML 内容,代码如下:
```
editor.txt.insertHTML('<p>要插入的 HTML 内容</p>');
```
如果还是出现错误,可能是因为当前版本的 wangeditor 不支持 insertHtml 或 insertHTML 方法。你可以查看一下当前版本的 wangeditor 文档,看看有没有其他方法可以用来在光标处插入 HTML 内容。
相关问题
但是我们插入的是<br>啊 editor.cmd.do('insertHTML', '<br>')
是的,您说得对,我理解有误。`txt.split('\n')`的作用是将编辑器中的内容按照每一行进行分割,方便后续的操作。在这种情况下,我们可以通过`cursorPos.row`获取光标所在的行数,`cursorPos.column`获取光标所在的列数,通过判断光标是否在当前行的末尾来判断是否需要插入`<br>`标签。代码示例如下:
```javascript
editor.config.onkeydown = function (event) {
if (event.keyCode === 13 && event.shiftKey) {
var range = editor.selection.getRange();
var txt = editor.txt.text();
var cursorPos = range.start;
var currentLineText = txt.split('\n')[cursorPos.row];
var isCursorAtLineEnd = (cursorPos.column === currentLineText.length - 1);
if (!isCursorAtLineEnd) {
editor.cmd.do('insertHTML', '<br>');
}
return false;
}
}
```
此代码会在按下“Shift+Enter”键时,判断光标是否在当前行的末尾,如果不在末尾则插入换行符。
QList<QTextBrowser *>browser; browser.at(0)->insertHtml;多次被调用,内容被写到一起了
您好,根据您的描述,可能是因为每次调用 `insertHtml()` 函数时,它会将新的 HTML 代码添加到 QTextBrowser 中已有的内容之后,导致多次调用时内容被写在一起了。
解决这个问题的方法是,在每次调用 `insertHtml()` 函数之前,先调用 `clear()` 函数将 QTextBrowser 中已有的内容清空,然后再插入新的 HTML 代码。修改后的代码如下所示:
```cpp
QList<QTextBrowser*> browser;
browser.at(0)->clear();
browser.at(0)->insertHtml("要插入的 HTML 代码");
```
这样每次调用 `insertHtml()` 函数时,都会清空 QTextBrowser 中的内容,然后插入新的 HTML 代码,避免了多次调用时内容被写在一起的问题。