javascript - 不同的 JS 语法 - 如何将这些属性添加到变量?

标签 javascript jquery arrays quill

我有两个彼此相似的js代码。

这个问题与js更相关,而不是与库相关。 我正在使用 quilljs 库来实现文本编辑器,并且我可以在加载库之前自定义它的设置。

我已经这样配置了库:

var toolbarOptions = [
  [{ 'font': [] }],
  [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
  [{ 'align': [] }],
  ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
  [{ 'color': [] }, { 'background': [] }],          // dropdown with defaults from theme
  ['blockquote', 'code-block'],

  [{ 'list': 'ordered'}, { 'list': 'bullet' }],
  [{ 'script': 'sub'}, { 'script': 'super' }],      // superscript/subscript
  [{ 'indent': '-1'}, { 'indent': '+1' }],          // outdent/indent
  [ 'link', 'video', 'formula' ], 
  ['clean']                                        // remove formatting button
];

var quill = new Quill('#editor', {
  modules: {
    toolbar: toolbarOptions
  },
  placeholder: 'Compose a post...',
  theme: 'snow',
  'image-tooltip': true,
  'link-tooltip': true
});

$('#contenthidden').val(quill.root.innerHTML);

     );

无论如何,我显然需要将下面的代码添加到toolbarOptions变量中,然后我必须加载quilljs等...... 但其内容却完全不同。就Javascript而言,我无法理解如何将此toolbarOptions变量的内容添加到上面的第一个变量中。

var toolbarOptions = {
  handlers: {
    // handlers object will be merged with default handlers object
    'link': function(value) {
      if (value) {
        var href = prompt('Enter the URL');
        this.quill.format('link', href);
      } else {
        this.quill.format('link', false);
      }
    }
  }
}

感谢任何帮助。

最佳答案

查看文档,它似乎省略了:

toolbar : { container : containerOptions, handlers : handlerOptions } 

并且只做:

toolbar : containerOptions

只是一个快捷方式,因为 container 选项非常常见。因此,您必须使用第一个表单来指定处理程序选项。

var toolbarOptions = {
    container: [
      [{ 'font': [] }],
      [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
      [{ 'align': [] }],
      ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
      [{ 'color': [] }, { 'background': [] }],          // dropdown with defaults from theme
      ['blockquote', 'code-block'],

      [{ 'list': 'ordered'}, { 'list': 'bullet' }],
      [{ 'script': 'sub'}, { 'script': 'super' }],      // superscript/subscript
      [{ 'indent': '-1'}, { 'indent': '+1' }],          // outdent/indent
      [ 'link', 'video', 'formula' ], 
      ['clean']                                        // remove formatting button
    ],
  handlers: {
    // handlers object will be merged with default handlers object
    'link': function(value) {
      if (value) {
        var href = prompt('Enter the URL');
        this.quill.format('link', href);
      } else {
        this.quill.format('link', false);
      }
    }
  }
}

关于javascript - 不同的 JS 语法 - 如何将这些属性添加到变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48066464/

相关文章:

javascript - iPhone/iPad 是否支持 mouseout 事件?

javascript - 使用 JavaScript 显示另一个 div 时隐藏一个 div

c - 在函数外访问结构数组

javascript - Array.filter 无法正常工作

javascript - JQuery 打印功能无法打印

javascript - 使用 Object.call 访问父作用域

javascript - 通过单击类里面的图像来更改图像

javascript - queue.js 从本地变量而不是外部文件传递数据

javascript - html 表单中的 jQuery 对话框表单

python - 如何修复 sklearn/python 中的 "ValueError: Expected 2D array, got 1D array instead"?