1

テキスト領域のカーソルにテキストを挿入する方法について、この例が浮かんでいるのを見てきました。

http://jsfiddle.net/adamadam123/bTUWa/5/

上記は正常に機能しますが、自分のコード(主にjQuery)に追加しようとすると、機能しなくなったことがわかります。以下は、関数を使用しようとしているコードの例です。

http://jsfiddle.net/adamadam123/bbE48/6/

誰かが私が2番目のjsfiddleを機能させるのを手伝ってくれますか?注:IDが異なる多くのdivがありますが、すべて同じtextarea.classnameが含まれているため、実際にはIDを渡したいと考えています。

ありがとうございました

<div id="100000000">
  <input id="insertPattern" type="button" value="insert pattern" />
  <textarea class="chatMessengerFooterTextArea">insert some text into this string</textarea>
</div>​
4

3 に答える 3

3

next入力を取得するために使用できます。

var txtarea = $("#"+ID).next('textarea')[0];

http://jsfiddle.net/bbE48/13/

于 2012-11-19T20:24:28.070 に答える
0

変更した関数は、txtarea変数をDOMオブジェクトではなくjQueryオブジェクトに再定義します。.get(0)DOMオブジェクトを再度取得するにはを使用する必要があります。

var txtarea = $("#"+ID).find('textarea.chatMessengerFooterTextArea').get(0);
于 2012-11-19T20:20:49.433 に答える
-1

textarea自体にIDを指定する必要があります。テキストエリアではなく、DIVに:)を渡します。

textareaを次のように変更します。

<textarea id="myTextArea" class="chatMessengerFooterTextArea">insert some text into this string</textarea>

そしてこれに対するあなたのJqueryコード:

$('input#insertPattern').click(function() {
    alert('clicked me');
    insertEmoticonAtTextareaCursor('myTextArea', ':)');
});
于 2012-11-19T20:14:57.987 に答える