【问题标题】:Cursor position in textarea on click单击时文本区域中的光标位置
【发布时间】:2023-03-02 21:06:02
【问题描述】:

我正在开发一个小的表情符号功能。我的问题是当我在 textarea 中有一个文本并从下拉列表中选择一个表情符号时,即使我将光标放在文本的开头,它也总是会走到文本的末尾,表情符号会走到末尾像这样的文字:

这里有一些文字????

代码:

function insertSmiley(smiley)
{
var currentText = document.getElementById("textarea");
var smileyWithPadding = " " + smiley + " ";
currentText.value += smileyWithPadding;
currentText.focus();
}

我尝试删除currentText.focus();,但没有帮助。我还尝试使用 jQuery 来保持 textarea 的焦点,但表情符号仍然会转到文本的末尾:

$(window).load(function(){    
var lastFocus;
$("#dropdown-emojis").mousedown(function(e) {
return false;
}); 
});

如何使表情符号显示在我放置光标的位置?

【问题讨论】:

    标签: javascript function cursor textarea


    【解决方案1】:

    使用 .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());
    

    【讨论】:

    • 由于某种原因我无法让它工作。与我上面的代码一起看起来如何?
    猜你喜欢
    • 2011-12-21
    • 2016-04-30
    • 2010-09-25
    • 2023-03-15
    • 2011-10-21
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    相关资源
    最近更新 更多