2
    var currentposition = 10; // after 10 characters
    var text = ":)";

    $(".insert").click(function () {
           // Need help here
    });

<textarea id="messagebox">Example text for the code</textarea>

如何在一定数量的字符之后在文本区域中插入文本(文本区域中有文本),在这种情况下为 10。文本区域中也可能根本没有任何文本,在这种情况下,当前位置将为 0。

此代码的目的是在当前光标位置输入笑脸。

4

1 回答 1

4

我建议使用类似的东西.substring()

var currentposition = 10;
var text = ":)";

$('textarea').val($('textarea').val().substring(0,currentposition) + text + 
    $('textarea').val().substring (currentposition));

Jsfiddle 示例

更新:如果要将光标定位在文本的末尾,可以尝试在更改 textarea 的值之前.focus()调用该方法:

$('textarea').focus().val($('textarea').val().substring(0,position) + ' :) ' + 
    $('textarea').val().substring (position));

但我不确定它是否适用于所有浏览器(IE 可能存在问题)

于 2013-04-25T16:42:50.807 回答