Javascript 如何替换文本区域中的文本?

Javascript 如何替换文本区域中的文本?,javascript,jquery,Javascript,Jquery,我需要在选定文本下方的文本区域内显示一个div Javascript: function getSel() { var txtarea = document.getElementById("mytextarea"); var start = txtarea.selectionStart; var finish = txtarea.selectionEnd; var allText = txtarea.value; var sel = "****";

我需要在选定文本下方的文本区域内显示一个div

Javascript:

function getSel() {
    var txtarea = document.getElementById("mytextarea");
    var start = txtarea.selectionStart;
    var finish = txtarea.selectionEnd;
    var allText = txtarea.value;
    var sel = "****";
    var newText = 
        allText.substring(0, start) + sel + allText.substring(finish, allText.length);
    txtarea.value = newText;
}
$(document).ready(function () {
    $('#newpost').hide();
    $('#mytextarea').on('select', function () {
        $('#newpost').show();
    });
});
这是我的

我的要求是将文本替换为星形,在文本区域中选择文本时,必须在所选文本下方显示带***的div,单击星形后,文本必须替换为星形,并且在选中文本之前必须隐藏div

提前感谢。

您可以为div使用position:fixed,并在开始选择时计算它。选中文本后,使用jQuery offset方法设置其位置:

函数getSel{ //获取textarea> var txtarea=document.getElementByIdmytextarea; //获取第一个选定字符的索引 var start=txtarea.selectionStart; //获取最后选定字符的索引 var finish=txtarea.selectionEnd; //获取所有文本 var allText=txtarea.value; //获取所选文本 var sel=Arrayfinish-start+1.join*; //追加文本; var newText=allText.substring0,start+sel+allText.substringfinish,allText.length; txtarea.value=newText; $'newpost'。偏移量{top:0,left:0}.hide; } $document.readyfunction{ var位置; $'newpost'。隐藏; $'mytextarea'。在'select'上,函数e{ $'newpost'.offsetposition.show; var txtarea=document.getElementByIdmytextarea; var start=txtarea.selectionStart; var finish=txtarea.selectionEnd; $'newpost p'.textArrayfinish-start+1.join*; }.在'mousedown'上,函数e{ 位置={top:e.pageY-5,left:e.pageX}; }; }; mytextarea{宽度:300px;高度:100px;溢出:隐藏} newpost{position:fixed}

***


我不明白你的要求。你能解释得更清楚些吗?@trgiangvp3当我在文本区域中选择一些文本时,我需要在该文本下方显示星星,因此在选择星星时,所选文本必须更改为星星。如果文本区域中的文本太长,必须以多行显示,该怎么办?选择文本时,您希望如何显示星号字符?@trgiangvp3实际上只选择了部分文本,而不是整个文本,所选文本必须替换为星号。星号必须计算所选文本的数量。谢谢。但这里的星号数必须与所选文本数相同。星号必须位于所选文本的下方,他们在其他地方得到了一些,如何改变x和y的位置。这样他们就可以精确地定位在所选文本的下方。你可以从e.pageY中减去几个像素。这里:position={top:e.pageY-10,left:e.pageX};。检查更新