Я инициализирую SCEditor следующим образом:
var mytextarea = $('textarea[name="one"])[0];
sceditor.create(mytextarea,
{
format: 'xhtml',
style: '../default.min.css',
// ...
});
Теперь мне нужно получить имя текстовой области изнутри SCEditor. Моя цель: после того, как пользователь ввел текст в SCEditor или использовал пользовательский плагин , тогда имя / идентификатор текстовой области передается с новым содержимым во внешнее поле предварительного просмотра HTML с тем же идентификатором. (На странице есть несколько редакторов.)
Я не нашел способа получить имя текстовой области ("one"
) из SCEditor. Вот фрагмент кода плагина, который дает доступ к переменной editor
:
// Insert-Formula Command
sceditor.command.set('insertformula', {
// wysiswyg mode
exec: function(caller) {
var editor = this;
console.log(editor); // cannot find the textarea's name here
API не раскрывает такую функцию: https://www.sceditor.com/api/sceditor/
Я пытался понять исходный код (текстовая область передается как original
в функции init ()), но я не мог найти способ вернуть текстовую область / оригинал: https://github.com/samclarke/SCEditor/blob/master/src/lib/SCEditor.js
Тогда я подумал, что могу связать имя после init с помощью редактора create () и получить к нему доступ позже, например:
sceditor.textarea_name = "one";
Но это тоже не работает.
Вот JSFiddle для тестирования: http://jsfiddle.net/kai_noack/0gLhtabq/10/
-
Обновление:
Я вижу, что в выводе консоли (jsfiddle) [[Scopes]]
содержится имя. Может быть, к нему можно получить доступ?
![console output sceditor](https://i.stack.imgur.com/2w25I.png)
Мне нужно получить textarea#one
part.