0

私はasp.netで開発しており、画面にCKEDITORがあり、テキストを追加する必要がある場所にカーソルがあります。ボタンがページに存在し、ボタンを押すと、ボタンが押された時点でカーソルがあった場所にユーザーがテキストを挿入できるテキストエリアを持つモーダルボックスが開きますが、テキストが失われたり、ボタンの場所で置き換えられたりすることはありません。カーソル。これはJavaScriptで可能ですか

4

1 に答える 1

2

テキストまたはhtmlソースとして挿入するかどうかに応じて、ユーザー入力をckeditorのinsertTextまたはinsertHtml関数に渡すことができます。これらは、エディターのカーソル/フォーカス位置に挿入されます。

したがって、ユーザー入力が次のような場合:

    Some text and link: <a href="www.on47.com">on47</a> 

insertText は、ユーザー入力をテキストとして配置します。html が含まれている場合でも、コンテンツはテキストとして表示され、クリック可能なリンクではないため、次のように挿入されます。

    Some text and link: <a href="www.on47.com">on47</a> 

insertHtml は実際にそれを html ソースとして配置するため、ハイパーリンクはクリック可能なリンクとして表示されます。

テキストとリンク: on47

//you can get the user input from text area using javascript like below
var insertMe = document.getElementById('textAreaId').value;

//or using jquery as below
//var insertMe = $('#textAreaId').val();

//get your editor instance and insert the text or html
var editor = CKEDITOR.instances.wckEditor;

editor.insertText(insertMe); 
            OR
//editor.insertHtml(insertMe);

使用している ckeditor のバージョンを教えてください ckeditor 4 の insertHtml は、オプションの 2 番目のパラメーターを受け入れ、デフォルトで html に設定されます 挿入モード insertHtml の 2 番目のパラメーターは、テキスト、html、unfiltered_html などのモードです。

 editor.insertHtml(insertMe, 'text');
于 2013-03-26T13:59:41.257 に答える