簡體   English   中英

單擊時文本區域中的光標位置

[英]Cursor position in textarea on click

我正在開發一個表情符號功能。 我的問題是,當我在文本區域中有一個文本並從下拉列表中選擇一個表情符號時,即使將光標放在文本的開頭,該表情符號也始終會移到文本的結尾,該表情符號會轉到文本的結尾像這樣的文字:

一些文字here

編碼:

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;
}); 
});

如何使表情符號顯示在放置光標的地方?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM