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