作为JavaScript的新手,我偶然发现了这个简单的问题,我需要为数组中的每个项目创建一个对象。
更具体地说,我想为一些textareas创建一个WYSIWYG文本编辑器,然后听取这些编辑器对象的输入。
一个元素的代码是:
// Make an element a text editor area.
var editorArea = new Edicy.TextEditorView({el: $('.foo')});
// Save on input
editorArea.editor.on('aftercommand:composer', function() {
pageData.set('key', 'value');
});
由于我有很多这方面的内容,我想使用jQuery.each()来启动这些文本编辑器,并使用元素的data-id属性根据独特的侦听器:
$('#c-success-tabs-content .tab-pane').each(function(){
var successID = $(this).attr('data-id');
successesList.push(successID);
var editorArea[successID] = new Edicy.TextEditorView({el: $('.foo')});
editorArea[successID].editor.on('aftercommand:composer', function() {
pageData.set('key', 'value');
});
});
作为命名方案" var editorArea [successID]"从那个听众" editorArea [successID]"在JavaScript中不可能,最佳解决方案是什么?
答案 0 :(得分:0)
它只是你的语法错了;你可以拥有一系列编辑
var editorArea = []; // declare globally
然后
editorArea[successID] = new Edicy.TextEditorView({el: $('.foo')});
答案 1 :(得分:0)
使用对象:
attachBaseContext()