我正在尝试通过编程方式对trix进行更改,例如:
element.editor.insertHTML(' ')
这没有问题,但是很遗憾,这已经在trix-change事件中了。因此insertHTML会再次触发自身,我们陷入了循环。
问题是,有没有办法在不触发trix-change的情况下对编辑器进行更改?
谢谢。
答案 0 :(得分: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(" ")
}
})