0

エディターとして取得するniceditがありますareatext

 <select id="greetings" name="greetings">
      <option value="" selected>Select one </option>
      <option value="1" onClick="addGreeting('text1'); return false;">text1</option>
      <option value="2" onClick="addGreeting('text2'); return false;">text2</option>
      <option value="3" onClick="addGreeting('text3'); return false;">text3</option>
    </select>
<textarea name="message" id="message" cols="50" rows="8" ></textarea>

したがって、ユーザーがオプションを選択すると、テキストエリアに自動的に挿入されます。

ここにJavaScriptコード

 bkLib.onDomLoaded(nicEditors.allTextAreas);

   function addGreeting(text) {
text = ' ' + text + ' ';
if (document.sc_form.message.createTextRange && document.sc_form.message.caretPos) {
    var caretPos = document.sc_form.message.caretPos;
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
    document.sc_form.message.focus();
} else {
document.sc_form.message.value  += text;
document.sc_form.message.focus();
}
  }

Niceeditor なしのOBSすべてが完璧に機能し、選択したオプションが直接挿入されます。 しかし、ページを更新したときにのみ挿入されたわけではありません。

そして、更新せずにテキストが挿入されるようにします。

誰かがスクリプトの順序に興味がある場合は、ここに私の順序があります

<script src="submit.js" language="JavaScript" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
 <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/redmond/jquery-ui.css" rel="stylesheet" type="text/css"/>
 <script type="text/javascript" src="include/nicEdit-latest.js"></script>  

他に何かあればお知らせください。挿入します。コードに時間を割いてくれてありがとう。

編集:

here my DEMO JSFIDDLE //これはエディター プラグインでは機能しません。

this DEMO JSFIDDLE // これはプラグインなしで動作します

-- 問題は、ページの読み込み (更新) の後にテキストが挿入される理由だと思いますbkLib.onDomLoaded。それを置き換える方法について何か提案はありますか?

4

1 に答える 1

0

niceditで問題ありません

wysiwyg の 100% としての nicedit は、インスタンス化時に dom を変更し、テキストエリアまたは編集する HTML 要素を非表示にします

  • nicedit API を学習し、カスタム ボタン/ドロップダウンを作成してテキストを追加します。

  • 変更イベント ( ) でインスタンスを破棄するか.removeInstance()、編集可能なテキストにテキストを追加してから、エディターを再度インスタンス化します。

きれいな解決策は最初のものであり、怠惰な解決策は2番目のものです

于 2013-02-07T05:18:48.410 に答える