2

私はこのhtmlコードを使用しています:

<textarea id="furmul" style="height: 300px;"></textarea>
<button type="button" id="ok">OK</button>

これらの行を使用して、単純なテキストエリアのポインターの現在の位置にテキストを追加します。

jQuery.fn.extend({
insertAtCaret: function(myValue){
  return this.each(function(i) {
    if (document.selection) {
      //For browsers like Internet Explorer
      this.focus();
      sel = document.selection.createRange();
      sel.text = myValue;
      this.focus();
    }
    else if (this.selectionStart || this.selectionStart == '0') {
      //For browsers like Firefox and Webkit based
      var startPos = this.selectionStart;
      var endPos = this.selectionEnd;
      var scrollTop = this.scrollTop;
      this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length);
      this.focus();
      this.selectionStart = startPos + myValue.length;
      this.selectionEnd = startPos + myValue.length;
      this.scrollTop = scrollTop;
    } else {
      this.value += myValue;
      this.focus();
    }
  })
}
});

しかし、ご存じのとおり、tinyMCE に値を追加するには、使用する必要があります

tinyMCE.activeEditor.setContent(myValue)

そして、使用する tinyMCE コンテンツを取得するために、以下を使用します。

tinyMCE.get(id).getContent()

いいえ、tinyMCE のポインターの現在の位置にinsertAtCaret追加するために、上記のコードを関数のどこに置き換える必要があるのでしょうか。myValue

このデモが役立つ場合があります。

ありがとう。

4

1 に答える 1