Аддонная функция jquery не добавляет элемент в DOM в nw.js на панели w2ui
Я создал это в скрипке, чтобы показать, что я пытаюсь сделать в nw.js. Это работает просто отлично. 2 вкладки создаются динамически во время выполнения просто отлично.
Я переношу это на свой nw.js и получаю сообщение об ошибке при вызове ace.edit(), сообщая, что не может найти идентификатор элемента. Когда я смотрю на DOM в nw.js, я вижу вкладку, и там НЕ создается редактор. Таким образом, проблема заключается в том, что вкладка и div редактора создаются в jsFiddle, а не на сайте nw.js.
Есть ли что-то, что не позволяет динамически добавлять элементы в DOM в nw.js?
$.fn.addEditorTab = function(name, tabName, contents) {
console.log("1");
$('ul', this).append('<li title="' + name + '"><a href="#tab-' + name + '">' + tabName + '</a><span class="ui-icon ui-icon-close" role="presentation"></li>');
$(this).append("<div id='tab-" + name + "'><div id='editor-" + name + "' class='editor'></div></div>");
$(this).tabs("refresh");
console.log("2");
var editor = ace.edit("editor-" + name);
console.log("3");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/lua");
editor.setOptions({
maxLines: Infinity
});
editor.getSession().setValue(contents);
return editor;
};
[РЕДАКТИРОВАТЬ] После некоторого возни кажется, что это проблема только когда у меня есть вкладки div внутри панели в w2ui.
$('#layout').w2layout({
name: 'layout',
panels: [
{ type: 'top', size: 50, style: pstyle, content: 'top', resizable: true },
{ type: 'left', size: 300, style: pstyle, content: '<div id="sidebar" style="height: 100%; width: 100%;"></div>', resizable: true }
//{ type: 'main', style: pstyle, content: '<div id="editor"></div>' }
{ type: 'main', style: pstyle, content: '<div id="tabs"><ul></ul></div>' }
]
});