【发布时间】:2014-04-28 10:37:02
【问题描述】:
我正在听 nsIHTMLEditor transactionManager 并试图阻止 contenteditable 做一些我不想做的事情:
let transactionManager = {
didDo: (aManager, aTransaction, aDoResult) => {},
willDo: function (aManager, aTransaction) {}
...
}
nsIHTMLEditor.transactionManager.AddListener(transactionManager);
有没有办法阻止进行该交易,例如event.preventDefault。我可以使用aTransaction.undoTransaction();,但不适用于 willMerge 并且似乎性能不佳。
谢谢。
编辑
感谢 nmaier 的回答,以防止您需要 return true 进行交易。但是,在我当前的 Firefox 29.1 上,返回 true 会导致 Firefox 崩溃。设法通过抛出错误来解决这个问题:
willDo: function (aManager, aTransaction) {
throw Components.Exception("Error message");
}
【问题讨论】:
标签: javascript firefox xpcom