3

我正在尝试使用 jQuery 从编辑器本身外部向 WYSIWYG CLEditor 添加一些 html 标记。

到目前为止,我已经...

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

但是我不知道如何将字符串添加到所见即所得,它开始让我发疯!

4

2 回答 2

4

这将覆盖:

$("#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 输入的 ID。

此外,这有一些讨论:

CLEditor 动态添加文本

于 2012-02-05T01:13:51.693 回答
1

刚刚对 CCCasons 解决方案进行了 2 次小修改,以使其按预期工作。

$('.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)在插入的链接末尾添加了换行符。否则,当您在添加图像后尝试输入所见即所得时,它会在链接中输入。

2) 首先获取 textarea 的当前值以阻止它被图像覆盖。

再次,非常感谢 CCCason!

于 2012-02-05T10:56:32.590 回答