0

したがって、NicEdit 以外のインライン div 編集 jquery/javascript ソフトウェアは見つかりませんでした。タブ、またはその問題の html を、カーソルがある div に挿入したいと考えています。ここでいくつかのコードに出くわしました:

function insertAtCursor(editor, value){
    var editor = nicEditors.findEditor(editor);
    var range = editor.getRng();                    
    var editorField = editor.selElm();
    editorField.nodeValue = editorField.nodeValue.substring(0, range.startOffset) +
                            value +
                            editorField.nodeValue.substring(range.endOffset, editorField.nodeValue.length);

}

ただし、カーソルが正確に左側にある場合 (テキストが入力されておらず、行の先頭にある場合) は機能しません (nodeValue が null になります)。また、テキストを入力すると、いくつかのブラウザーでカーソルがジャンプします (Chrome と Firefox の比較)。

インライン タブ (タブ ボタン) または Div (または div を模倣するテキスト領域) を使用したテキスト挿入をサポートする WYSIWYG はありますか?

4

5 に答える 5

0

私が見つけた最高のインライン エディターは、Google の WYSIWYG で、Closure Library と呼ばれるオープン ソースの JavaScript ライブラリの一部です: http://code.google.com/intl/sv-SE/closure/library/

残念ながら、セットアップはそれほど簡単ではなく、十分に文書化されていませんでしたが、うまく起動して実行できれば、Gmail エディターや Google サイト エディターとほぼ同じ機能を備え、優れたブラウザー互換性と優れたインラインを備えています。特徴。

于 2011-07-16T02:43:02.840 に答える
0

最初に Null ノードを確認し、次にその特定のノードを設定します (editorField 値)

    var editor = nicEditors.findEditor("cpMain_area2");
    var range = editor.getRng();            
    var editorField = editor.selElm();
   if (editorField.nodeValue == null) {
        editorField.setContent('<DIV><'+  A +'></DIV>')
         }
    else {

        editorField.nodeValue = editorField.nodeValue.substring(0, range.startOffset) + A + editorField.nodeValue.substring(range.endOffset, editorField.nodeValue.length);
       }
于 2014-10-27T12:46:38.033 に答える
0

ここで私の答えを見てください。カーソル位置にhtmlを挿入するために作成したプラグインで、うまく機能します。

于 2012-10-13T02:13:58.433 に答える
0

次のコードは、div またはその他の html 要素の挿入に関する問題と、エディターにまだテキストがないことに関する問題を修正します。

if(editorField.nodeValue==null){
  editor.setContent('<strong>Your content</strong>');
}else{        
  editorField.nodeValue = editorField.nodeValue.substring(0, range.startOffset) +
                          '<strong>Your content</strong>' +
                          editorField.nodeValue.substring(range.endOffset, editorField.nodeValue.length);
  editor.setContent(editorField.nodeValue);
}
于 2012-09-13T07:08:56.760 に答える
-1

最初に Null ノードをチェックしてから、その特定のノードを設定します

if (editorField.nodeValue == null) {
    editorField.setContent(DataFieldValue);
}
于 2015-10-06T10:49:32.800 に答える