首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CKEditor如何获取UIElement

CKEditor如何获取UIElement
EN

Stack Overflow用户
提问于 2011-09-06 13:57:44
回答 3查看 1.2K关注 0票数 3

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

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

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

我试图访问的instance对象记录在这里:(但是没有提到如何获得这个实例!) http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.ui.dialog.select.html

EN

回答 3

Stack Overflow用户

发布于 2011-09-07 09:54:57

实际上,CKEDITOR.dialog.getCurrent()方法允许您从任何函数访问对话框实例,并且您可以从那里访问您想要访问的任何CKEditor对象的UIElement实例。

票数 1
EN

Stack Overflow用户

发布于 2011-09-06 14:19:55

在对话框初始化期间,你能在setup回调中缓存你需要的东西吗?

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

代码语言:javascript
复制
onShow: function() {
    //...
    this.cachedDomIds = { };
    this.setupContent(this.cachedDomIds);
    //...
}

然后在你的setup

代码语言:javascript
复制
setup: function(cache) {
    //...
    cache.some_dom_id = this.domId;
    //...
}

这样,您至少可以访问所有真实的DOM id属性,并且可以根据需要使用getElementById()

票数 0
EN

Stack Overflow用户

发布于 2011-09-07 09:18:00

谢谢你的建议,mu太短了,

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

代码语言:javascript
复制
this.getDialog().getContentElement([insert_dialog_name_here], this.getValue()).getElement()

this.getValue将与我想要的CKEditor UI元素具有相同的id

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7315494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档