Firefox addon nsIEditActionListener和addEditActionListener

Firefox addon nsIEditActionListener和addEditActionListener,firefox-addon,editor,selection,xpcom,Firefox Addon,Editor,Selection,Xpcom,我试图理解以下代码: 315 let existingIndex = this._editors.indexOf(editableNode.editor); 316 if (existingIndex == -1) { 317 let x = this._editors.length; 318 this._editors[x] = editableNode.editor; 319 this._stateListeners[x

我试图理解以下代码:

315       let existingIndex = this._editors.indexOf(editableNode.editor);
316       if (existingIndex == -1) {
317         let x = this._editors.length;
318         this._editors[x] = editableNode.editor;
319         this._stateListeners[x] = this._createStateListener();
320         this._editors[x].addEditActionListener(this);
321         this._editors[x].addDocumentStateListener(this._stateListeners[x]);
322       }

尤其是
addEditActionListener(此)这是什么
?MDN文档说它应该是nsIEditActionListener,但我找不到这个listener是由MDN文档组成的


这是查找对象;它实现nsIEditActionListener接口()

该接口定义如下:


因此,代码实质上是将Finder对象附加到编辑器,大概是为了在以后的某个时候通知它编辑器中所做的更改。

Yes dude我在上面发布了相同的第一个链接哈哈。啊,idl文件是我一直在寻找的,它具有侦听器所需的功能!谢谢,但是我的解决方案还没有,你能帮我理解finder.jsm是如何添加Listener
这个
,我不明白。我的链接应该把你带到不同的行号,但是的,它在同一个文件中。啊,我明白了,谢谢你,幸运儿!但是当finder.jsm执行此操作时。_editors[x].addEditActionListener(此)。太棒了,从那里我找到了
\u checkOverlap
,然后按ctrl+f键,发现它真的在运行,通过添加这个作为editActionListener,他们添加了整个Finder.jsm对象,是吗?但由于侦听器只知道WillDeleteNode和IDL中列出的其他函数,因此它将忽略所有其他函数方法。我在这里学到了很多,谢谢你!使用相同的技术,我能够理解
nsicumentstateletener
,非常感谢幸运!