Как вставить пользовательский тег html с помощью редактора YUI

У меня настроен и работает YUI. Я создал пользовательскую кнопку, и она отображается нормально. То, что я хотел бы, чтобы эта кнопка делала, - это оборачивать выделенный текст моими собственными пользовательскими тегами «span», точно так же, как нажатие кнопки «жирный» оборачивает выделенный текст тегами «сильный» / «полужирный».

Есть ли у кого-нибудь примеры, на которые они могли бы указать, чтобы сделать эту работу?


person Joshua    schedule 11.11.2009    source источник


Ответы (1)


Обнаружил решение для себя, поэтому я публикую, чтобы другие тоже могли видеть. :)

Во-первых, БОЛЬШОЕ спасибо MK_Dev за вдохновение от его подобного вопрос, заданный еще в апреле. Вот весь код, необходимый для моей проблемы (выше):

this.toolbar.on('mycustombuttonClick', function() {
        var sSelection = this._getSelection();
        var sNewElt = '<span class="testhere">' + sSelection + '</span>';
        this.execCommand('inserthtml', sNewElt);
        return false;
    }, this, true);

Обратите внимание, что это предполагает, что кнопка, которая вставляет html, находится на панели инструментов.

person Joshua    schedule 17.11.2009
comment
Это не работает правильно в IE8, где sSelection является объектом, а не текстом, что приводит к ‹span class=testthere›[sSelection object]‹/span› Попытка найти решение этой проблемы. - person David Smith; 16.02.2011
comment
BigDave — какую версию YUI вы используете? - person Joshua; 17.02.2011