不同的 JS 语法 - 如何将这些属性添加到变量?
Different JS Syntax - How to add these properties to variable?
我有两个相似的js代码
这个问题与js相关多于library。
我正在使用 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);
}
}
}
}
我有两个相似的js代码
这个问题与js相关多于library。 我正在使用 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);
}
}
}
}