Javascript Firefox在编辑时错误地修剪尾部空白

Javascript Firefox在编辑时错误地修剪尾部空白,javascript,editing,trailing-whitespace,Javascript,Editing,Trailing Whitespace,操作系统:LinuxMint18.3,Firefox72 我探索过这种现象,我发现它只存在于FF中,而不存在于Chrome中(例如) 通常,当元素设置为true时,此问题适用于元素(可能是DIV或TD) 如果你去,得到HTML+JS并在你的浏览器中运行它,你可以自己看到问题 加载该文件时,如果将光标放在“ipsum”之后,然后按Ctrl Backspace删除单词“ipsum”,则可以看到具体的问题。结果似乎没问题:当你看到光标在那之后闪烁时,似乎在“Lorem”后面有一个空格。但当我在那之后打

操作系统:LinuxMint18.3,Firefox72

我探索过这种现象,我发现它只存在于FF中,而不存在于Chrome中(例如)

通常,当元素设置为
true
时,此问题适用于元素(可能是
DIV
TD

如果你去,得到HTML+JS并在你的浏览器中运行它,你可以自己看到问题

加载该文件时,如果将光标放在“ipsum”之后,然后按Ctrl Backspace删除单词“ipsum”,则可以看到具体的问题。结果似乎没问题:当你看到光标在那之后闪烁时,似乎在“Lorem”后面有一个空格。但当我在那之后打一些信的时候,它会被粘在“Lorem”上。。。e、 我输入“m”,我看到“Loremm”

这不是它在Chrome中处理同一个HTML文件的方式:在那里,当我键入“m”时,我看到“Lorem”

更奇怪的是,在Firefox中,当我在“Lorem ipsum”之后键入更多单词时。。。然后使用Ctrl Backspace并开始键入,问题就不会出现:尾随空格被正确保留

我在FF中还观察到了另一件事:如果我没有按Ctrl键退格,而是反复退格,即一个字母一个字母地退格,直到我删除了“ipsum”,留下了尾随空格。如果我开始打字。。。保留尾随空白

我已经写了一篇文章,看看这里发生了什么,是否有可能的解决办法。问题是FF浏览器实际上在
MutationObserver
触发任何事件之前进行了此修剪

我正在研究一种可能的解决方法,即捕捉按键事件,如果是“Ctrl+Backspace”,则执行
event.preventDefault()
。这确实阻止了单词删除的发生。然后,我必须实现一个替代解决方案,可能需要一个字母一个字母地删除,直到找到空白为止

对我来说这看起来像个虫子

这里有一个可能的线索来说明这可能是关于什么的:当我第一次捕获此事件(即Ctrl Backspace)并检查
事件.target
时,我发现
innerHTML
是正确的,即有一个尾随空格,但
innerText
不正确,即尾随空格已被修剪。我对此做了一些阅读,他们说,
innerText
似乎主要关注的是“一些文本在页面上的显示方式”