var currentposition = 10; // after 10 characters
var text = ":)";
$(".insert").click(function () {
// Need help here
});
<textarea id="messagebox">Example text for the code</textarea>
如何在一定数量的字符后插入textarea中的文本(textarea中有文本),在本例中为10.在textarea中根本没有任何文本,在这种情况下,currentposition将是0
此代码的目的是在当前光标位置输入表情符号。
答案 0 :(得分:4)
我建议使用.substring()
:
var currentposition = 10;
var text = ":)";
$('textarea').val($('textarea').val().substring(0,currentposition) + text +
$('textarea').val().substring (currentposition));
<强> Jsfiddle example 强>
更新:如果您想将光标放在文本的末尾,可以尝试在更改textarea的值之前调用.focus()
方法:
$('textarea').focus().val($('textarea').val().substring(0,position) + ' :) ' +
$('textarea').val().substring (position));
但我不确定它是否适用于所有浏览器(IE可能存在问题)