0

我正在尝试使用以下方式以编程方式对 trix 进行更改:

element.editor.insertHTML(' ')

这没有问题,但不幸的是,这已经在 trix-change 事件中。因此 insertHTML 再次触发自身,我们陷入了循环。

所以问题是,有没有办法在不触发 trix-change 的情况下对编辑器进行更改?

谢谢。

4

1 回答 1

1

您可以设置一个标志来忽略下一个trix-change事件。就像是:

let ignoreNextChange = false

element.addEventListener("trix-change", () => {
  if (ignoreNextChange) {
    ignoreNextChange = false
    return
  }
  if (/* Your logic for inserting a non-breaking space */) {
    ignoreNextChange = true
    element.editor.insertHTML(" ")
  }
})
于 2019-05-31T21:03:13.637 回答