Javascript 如何从tinymce列表框控件项中获取属性值
我试图在onselect事件中获取项“data id”属性,但运气不好 这是我的代码:Javascript 如何从tinymce列表框控件项中获取属性值,javascript,tinymce,Javascript,Tinymce,我试图在onselect事件中获取项“data id”属性,但运气不好 这是我的代码: createControl: function (n, cm) { switch (n) { case 'ColorTextBox': var mlb = cm.createListBox('ColorTextBox', { title: 'color texto',
createControl: function (n, cm) {
switch (n) {
case 'ColorTextBox':
var mlb = cm.createListBox('ColorTextBox', {
title: 'color texto',
onselect: function (v) {
var ed = tinymce.activeEditor;
ed.formatter.register('custom_format', { inline: 'span', styles: { color: '%value' }, classes: 'color_text', attributes: { 'data-color': '%value' } });
ed.formatter.apply('custom_format', { value: v });
}
});
for (i in CssStyles.colors.text) {
mlb.add('color texto #' + i, CssStyles.colors.text[i], attributes = { 'data-id': i }); //-> Is this attribute reachable from onselect event or is there a way?
}
return mlb;
break;
}
}
}
有什么建议吗?非常感谢。好的,问题解决了。方法是通过对mlb对象进行迭代来获得与列表项中相同的属性数据id。 也许这不是最好的办法,但目前,我找不到更好的办法 以下是修改后的代码:
createControl: function (n, cm) {
switch (n) {
case 'ColorTextBox':
var mlb = cm.createListBox('ColorTextBox', {
title: 'color texto',
onselect: function (v) {
var ed = tinymce.activeEditor;
var id;
for (i in mlb.items) {
if (mlb.items[i]['data-color'] == v) {
id = mlb.items[i]['data-id'];
}
}
ed.formatter.register('custom_format', { inline: 'span', styles: { color: '%value' }, classes: 'colors_text_' + id, attributes: { 'data-index': '%value' } });
ed.formatter.apply('custom_format', { value: v });
}
});
for (i in CssStyles.colors.text) {
mlb.add('color texto #' + i, CssStyles.colors.text[i], attributes = { 'data-id': i, 'data-color': CssStyles.colors.text[i] });
}
return mlb;
break;
}
}
}
我希望能有所帮助。问候。好的,解决了。方法是通过对mlb对象进行迭代来获得与列表项中相同的属性数据id。 也许这不是最好的办法,但目前,我找不到更好的办法 以下是修改后的代码:
createControl: function (n, cm) {
switch (n) {
case 'ColorTextBox':
var mlb = cm.createListBox('ColorTextBox', {
title: 'color texto',
onselect: function (v) {
var ed = tinymce.activeEditor;
var id;
for (i in mlb.items) {
if (mlb.items[i]['data-color'] == v) {
id = mlb.items[i]['data-id'];
}
}
ed.formatter.register('custom_format', { inline: 'span', styles: { color: '%value' }, classes: 'colors_text_' + id, attributes: { 'data-index': '%value' } });
ed.formatter.apply('custom_format', { value: v });
}
});
for (i in CssStyles.colors.text) {
mlb.add('color texto #' + i, CssStyles.colors.text[i], attributes = { 'data-id': i, 'data-color': CssStyles.colors.text[i] });
}
return mlb;
break;
}
}
}
我希望能有所帮助。问候