【问题标题】:TinyMCE | What data to determine a new line entered?TinyMCE |输入什么数据来确定新行?
【发布时间】:2018-05-02 16:42:44
【问题描述】:

添加新的空白行后,我可以让 tinymce 控制台记录一条语句。这是我的代码:

@HostListener('window:keyup', ['$event'])
keyEvent(event: KeyboardEvent) {
    const range = tinymce.activeEditor.selection.getRng(true);
    const text = range.startContainer.textContent;

    if ((text.substring(range.startOffset - 1, range.startOffset) == '') &&
        (text.substring(range.startOffset, range.startOffset + 1) == '')) {
          console.log('enter hit');
    }
}

但是,由于文本溢出,当输入新行时,我很难让代码触发。如下图所示。

我可以使用哪些 tinymce 数据来确定在按键事件中输入了新行?

【问题讨论】:

    标签: javascript angular tinymce


    【解决方案1】:

    这是一个 TinyMCE Fiddle,它展示了如何从 TinyMCE 中捕获 keypress 事件。该示例记录了整个事件 - 控制台可用于查看事件中的所有有用数据。

    http://fiddle.tinymce.com/0rgaab/1

    【讨论】:

    • 我已经成功实现了keypress事件。但是我不确定使用什么 tinymce 数据来确定是否输入了新行。有什么想法吗?
    • 当您说“输入了新行”时,定义您想要的内容。按EnterShift+Enter 将导致一个新的根块或<br /> 这实际上是新行。
    • 我的意思是当光标位置在 y 轴上向下移动时。例如,如果输入的字符串超出了编辑器的宽度,则字符串的其余部分将在下一行输入(见截图)
    • 所以这不是一个“新行”,它只是基于容器大小和 HTML/CSS 工作方式的文本换行。编辑器不会为此类事情触发任何事件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多