Javascript CKEditor如何获取UIElement

Javascript CKEditor如何获取UIElement,javascript,ckeditor,uielement,Javascript,Ckeditor,Uielement,我需要在CKEditor对话框中有两个选择菜单,第二个选择菜单根据第一个菜单的选择选项更改其选项。你会觉得很简单!但在CKEditor中,似乎很难获得与CKEditor对象等效的DOM。我可以访问CKEditor对象,但不能访问其DOM等价物 CKEditor select(UIElement)对象的实例具有一些有用的DOM交互,即getElement(),但我只能在CKEditor select“类”定义的事件方法中使用特殊的this关键字访问此对象 如何访问CKEditorUIElement

我需要在CKEditor对话框中有两个选择菜单,第二个选择菜单根据第一个菜单的选择选项更改其选项。你会觉得很简单!但在CKEditor中,似乎很难获得与CKEditor对象等效的DOM。我可以访问CKEditor对象,但不能访问其DOM等价物

CKEditor select(
UIElement
)对象的实例具有一些有用的DOM交互,即
getElement()
,但我只能在CKEditor select“类”定义的事件方法中使用特殊的this关键字访问此对象

如何访问CKEditor
UIElement
对象的实例(在本例中是选择)?我只有CKEditor对象的id,CKEditor出于某种令人沮丧的原因决定将随机id应用于其DOM对象等价物

我试图访问的实例对象记录在这里:(没有提到如何获得这个实例!)

在对话框初始化过程中,能否在
设置中缓存所需的内容

您可以向
设置
函数传递一个对象,它们可以将所需内容放入其中。因此,您可以将一个对象传递到设置文件中:

onShow: function() {
    //...
    this.cachedDomIds = { };
    this.setupContent(this.cachedDomIds);
    //...
}
然后在
设置中

setup: function(cache) {
    //...
    cache.some_dom_id = this.domId;
    //...
}

然后,至少您可以访问所有真正的DOM id属性,并且可以根据需要
getElementById()

谢谢您的建议,mu太短了

我发现我可以使用此方法访问其他选择菜单:

this.getDialog().getContentElement([insert_dialog_name_here], this.getValue()).getElement()

this.getValue将具有与我所关注的CKEditor UI元素相同的id

事实上,
CKEditor.dialog.getCurrent()
方法将允许您从任何函数访问对话框实例,并且从那里您可以访问所关注的任何CKEditor对象的
UIElement
实例