4

我正在 CKEditorlink.js下的链接插件下编辑一个插件。我添加了一个文本输入字段并尝试为输入分配一个 css 类,但不能这样做。这是我添加的代码。

{
    type : 'text',
    class: 'myClassName',
    label : 'myInputLabel'
}

我也尝试过className, inputClassinputStyle而不是class但它们都不起作用。

我需要这样的东西

<input class="cke_dialog_ui_input_text myClassName" type="text" aria-labelledby="cke_102_label">

使用 jQuery 的解决方法

似乎 CKEditor 不允许您将 className 直接分配给输入元素,但它会将其分配给输入元素的第三级父 div

<div class='cke_dialog_ui_text myClassName'>
   <div>
      <div>
         <input class='cke_dialog_ui_input_text'>
      </div>
   </div>
</div>

我做了什么让它工作

{
    type : 'text',
    className : 'myClassName',
    label : 'myInputLabel',
    onLoad : function () {
        var myid = this.getElement().getId();
        var that = this;
        var thatobj = $("#" + myid);
        var obj = $(".cke_dialog_ui_input_text", thatobj);

        //Have fun with your "obj" text input
        //variable "that" is good to have because you may need it inside of jQuery plugins like that.getDialog().setValueOf('info', 'url', 'blahblah');
    }
 }
4

2 回答 2

0

className应该根据文档为您工作。仔细检查您的代码。否则,请尝试在dialogDefinition活动中弄乱您的领域。见我之前的回答

于 2013-08-17T19:42:23.417 回答
0
{
  type: 'text',
  label: 'My text input',
  onLoad : function () {
    this.getInputElement().$.classList.add('class-for-my-input');
  }
}
于 2017-09-02T09:09:55.183 回答