Javascript 如何替换文本区域中的文本?
我需要在选定文本下方的文本区域内显示一个div 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 = "****";
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};。检查更新