Добавить html в WYSIWYG из-за пределов редактора (jQuery, ClEditor)

Я пытаюсь добавить HTML-разметку в WYSIWYG CLEditor из-за пределов самого редактора с помощью jQuery.

Пока у меня...

$('.add-image').click(
    function()
    {
        theurl = $(this).text();
        theimage = '<a href="' + theurl + '" class="lightbox"><img src="' + theurl + '" /></a>';
        // Now What? 
    }
);

Но я не знаю, как добавить строку в WYSIWYG, и это начинает сводить меня с ума!


person Martin Hunt    schedule 05.02.2012    source источник


Ответы (2)


Это перезапишет:

$("#inputID").val(theimage); 
$("#inputID").cleditor()[0].updateFrame();

Это добавит:

currentval = $("#inputID").val();
$("#inputID").val(theimage);
$("#inputID").val(currentval + theimage); 

Или, может быть, попробуйте это:

$('#inputID').val('new text data').blur();

Где inputID — это идентификатор вашего ввода CLEditor.

Кроме того, это имеет некоторые обсуждения по этому поводу:

CLEditor с динамическим добавлением текста

person Jason    schedule 05.02.2012

Только что внес 2 небольших изменения в решение CCCasons, чтобы заставить его работать по назначению.

$('.add-image').click(
function()
{
    theurl = $(this).text();
    theimage = '<a href="' + theurl + '" class="thelightbox" style="display: block"><img src="' + theurl + '" /></a><br/>';

    // Get the current value of the textarea otherwise it will be overwritten
    currentval = $("textarea.wysiwyg").val();

    $("textarea.wysiwyg").val(currentval + theimage); 
    $("textarea.wysiwyg").cleditor()[0].updateFrame();                  
}
);

1) Добавлен разрыв строки в конец вставленной ссылки. В противном случае, когда вы пытаетесь ввести wysiwyg после добавления изображения, оно вводится внутри ссылки.

2) Сначала захватил текущее значение текстовой области, чтобы оно не было перезаписано изображением.

Еще раз большое спасибо CCCason!

person Martin Hunt    schedule 05.02.2012
comment
Я обновил свой ответ, я думал, что вы хотите перезаписать. Извини за это. Я вставил код для обоих, чтобы следующий парень, у которого возникла эта проблема, мог выбрать. = Д - person Jason; 05.02.2012