我正在开发一个小的表情符号功能。我的问题是,当我在文本区有一个文本,并从下拉列表中选择一个表情符号时,它总是转到文本的末尾,即使我把光标放在文本的开头,表情符号也会像这样转到文本的末尾:
此处的一些文本?
代码:
function insertSmiley(smiley)
{
var currentText = document.getElementById("textarea");
var smileyWithPadding = " " + smiley + " ";
currentText.value += smileyWithPadding;
currentText.focus();
}我试着删除currentText.focus();,但是没有用。我也尝试使用jQuery来保持文本区域的焦点,但表情符号仍然会到达文本的末尾:
$(window).load(function(){
var lastFocus;
$("#dropdown-emojis").mousedown(function(e) {
return false;
});
});如何让表情符号显示在光标所在的位置?
发布于 2019-06-20 02:16:13
使用.selectionStart和.selectionEnd可以知道光标的位置。
var startPosition = myElement.selectionStart;
var endPosition = myElement.selectionEnd;
if(startPosition == endPosition){
newString= currentText.value.substring(0,startPosition)+ " " + smiley + " " + currentText.value.subString(endPosition,currentText.value.lenght());https://stackoverflow.com/questions/56673418
复制相似问题