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
,非常感谢幸运!