我试图为插件添加一些自定义。它有一个选项对象(或者它可能被称为哈希对象?)我想从数组中添加更多选项。
这是选项对象' itemKeys'
a.extend(a.zEditor.DEFAULTS, {
itemKeys: {
"text name 1": "font-size: 15px; color: black;",
"text name 2": "font-size: 15px; color: black;"
}
我可以手动将密钥名称添加为数组值
key_name = ["text name 1", "text name 2"]
a.extend(a.zEditor.DEFAULTS, {
itemKeys: {
[key_name[0]]: "font-size: 15px; color: black;",
[key_name[1]]: "font-size: 15px; color: black;"
}
但是数组中的值会有所不同,因此无法通过这种方式手动设置它。
在对象内部如此循环显然无法正常工作
itemKeys: {
for (var i = 0; i < key_name.Length; i++) {
key_name[i]: "font-size: 15px; color: black;",
}
}
所以现在我离开了在对象之外做了一些循环,为选项对象添加了新的选项。问题是我不知道如何从对象外部向选项对象添加新选项。
我试过
itemKeys:{&#34;文字名3&#34;:&#34;字体大小:15px;颜色:黑色;&#34; }
但是这只是覆盖了对象所以它现在只有一个选项。
我无法更改插件中的任何其他编码,因为它会导致其他事情中断,所以我不会这样做。
如何从对象外部向itemKey选项对象添加更多选项。
答案 0 :(得分:1)
a.zEditor.DEFAULTS.itemKeys["text name 3"] = "font-size: 15px; color: black;";
或者,假设a.extend()
的作用类似于jquery&#39; s $.extend()
,
a.extend(a.zEditor.DEFAULTS.itemKeys, {"text name 3": "font-size: 15px; color: black;"});
答案 1 :(得分:0)
您可以在外部组合单独的项目键对象,并通过引用进行分配。
var myItemKeys = {};
function() {
for (var i = 0; i < key_name.Length; i++) {
myItemKeys[key_name[i]] = "font-size: 15px; color: black;";
}
}
//Set the itemKeys in the object
a.extend(a.zEditor.DEFAULTS, {
itemKeys: myItemKeys
...