如果已经在 contenteditable 上打字,则禁用打字机功能

Posted

技术标签:

【中文标题】如果已经在 contenteditable 上打字,则禁用打字机功能【英文标题】:Disable typewriter function if already typing on contenteditable 【发布时间】:2022-01-14 19:59:18 【问题描述】:

我正在使用 typewriter.js 和 contenteditable="true"。但是我的问题是,当我输入输入时,我的文本将使用打字机占位符展开。在 contenteditable 中输入文本后,如何禁用打字机?这是我的代码

<div id="quote__text" contenteditable="true">


var app = document.getElementById('quote__text');
var typewriter = new Typewriter(app, 
    loop: true
);

typewriter.typeString('TYPE HERE TO SET GOAL')
    .pauseFor(2500)
    .deleteAll()
    .typeString('GOAL 1')
    .pauseFor(2500)
    .deleteChars(7)
    .typeString('GOAL 2')
    .pauseFor(2500)
    .start();

【问题讨论】:

【参考方案1】:

尝试在用户输入文本时停止库

const editor = document.getElementById("quote__text");

editor.addEventListener("input", stop);

function stop(e) 
    typewriter.stop()

【讨论】:

以上是关于如果已经在 contenteditable 上打字,则禁用打字机功能的主要内容,如果未能解决你的问题,请参考以下文章

Contenteditable DIV在Firefox中使用角向双向绑定不能正常工作

在 contentEditable 元素中插入 HTML 元素

iPhone键盘在contenteditable上输入时隐藏文本

在 ipad 上强制数字键盘用于 contenteditable 元素

Contenteditable Div - 根据 innerHTML 位置的光标位置

如何在具有 contentEditable 的元素上启用“可拖动”?