使用javascript将用户单击的数据放入弹出窗口的文本字段中
我目前正在处理的问题是,用户必须在文本区域中输入文本,输入文本后,用户可以自由单击他输入的任何文本,单击的文本必须显示在弹出窗口中。以下是与上述问题不符的代码使用javascript将用户单击的数据放入弹出窗口的文本字段中,javascript,jquery,Javascript,Jquery,我目前正在处理的问题是,用户必须在文本区域中输入文本,输入文本后,用户可以自由单击他输入的任何文本,单击的文本必须显示在弹出窗口中。以下是与上述问题不符的代码 <p id="msg">roli</p> <form onload> <center><label>Enter text:</label><br> <textarea style="width:100px; height:100px" i
<p id="msg">roli</p>
<form onload>
<center><label>Enter text:</label><br>
<textarea style="width:100px; height:100px" id="hello" >
</textarea>
</center>
</form>
<script>
var stopCharacters = [' ', '\n', '\r', '\t']
$(function() {
document.getElementById("msg").innerHTML="bhanu";
$('textarea').on('click', function() {
var text = $(this).html();
var start = $(this)[0].selectionStart;
var end = $(this)[0].selectionEnd;
while (start > 0) {
if (stopCharacters.indexOf(text[start]) == -1) {
--start;
} else {
break;
}
};
++start;
while (end < text.length) {
if (stopCharacters.indexOf(text[end]) == -1) {
++end;
} else {
break;
}
}
var currentWord = text.substr(start, end - start);
alert(currentWord);
});
});
</script>
roli
输入文本:
var stopCharacters=['','\n','\r','\t']
$(函数(){
document.getElementById(“msg”).innerHTML=“bhanu”;
$('textarea')。在('click',function()上{
var text=$(this.html();
var start=$(此)[0].selectionStart;
var end=$(this)[0];
while(开始>0){
if(stopCharacters.indexOf(text[start])=-1){
--开始;
}否则{
打破
}
};
++开始;
while(结束<文本长度){
if(stopCharacters.indexOf(text[end])=-1){
++结束;
}否则{
打破
}
}
var currentWord=text.substr(开始,结束-开始);
警报(currentWord);
});
});
您的意思是,单击同一文本框会向用户提示文本框的内容吗?如果是这样的话,您不需要任何JavaScript或您已经完成的复杂内容。单击下面的代码段并单击文本框
var-stopCharacters=['','\n','\r','\t'];
$(函数(){
$(“#msg”).html(“bhanu”);
$('textarea')。在('click',function()上{
if($(this).val().trim().length==0)
返回;
var textComponent=$(此)[0];
var-currentWord;
//IE版本
if(document.selection!=未定义){
textComponent.focus();
var sel=document.selection.createRange();
currentWord=sel.text;
}
//Mozilla版本
else if(textComponent.selectionStart!=未定义){
var startPos=textComponent.selectionStart;
var endPos=textComponent.selectionEnd;
currentWord=textComponent.value.substring(startPos、endPos)
}
警报(currentWord);
});
});代码>
textarea{display:block;}
roli
输入文本:
这里您需要创建一个选择范围
var-stopCharacters=['','\n','\r','\t'];
$(函数(){
document.getElementById(“msg”).innerHTML=“bhanu”;
$('textarea')。在('click',function()上{
var textComponent=document.getElementById('hello');
var-currentWord;
//IE版本
if(document.selection!=未定义){
textComponent.focus();
var sel=document.selection.createRange();
currentWord=sel.text;
}
//Mozilla版本
else if(textComponent.selectionStart!=未定义){
var startPos=textComponent.selectionStart;
var endPos=textComponent.selectionEnd;
while(textComponent.value.charAt(startPos)!=“”){
如果(startPos=textComponent.value.length)中断;
endPos++;
控制台日志(endPos);
}
currentWord=textComponent.value.substring(startPos、endPos);
}
警报(currentWord);
});
});代码>
roli
输入文本:
@Praveen Kumar您建议的更改似乎没有任何区别。。你能再提一次建议吗?我只是把它做得更好了。我无法回答这个问题。如果是,我会立即回答。将以不同的方式帮助您<代码>:)
@PraveenKumar如果他们是解决我刚才提到的问题的另一种方法,请尽快告诉我。。不管怎样谢谢你的帮助我确实试过用它。即使这样似乎也无法在一分钟内为meCheck out my answer获得所需的结果。您使用的代码显示文本框或文本区域的完整文本。我需要的是,如果用户单击单词click,则警报应显示click,如果用户单击文本me,则警报应显示click给我看看。@DarkNite好的,明白了。给我一分钟。这是一个多么完美的问题啊@DarkNite查看上面的答案。上面的代码肯定会给我弹出窗口,但不会给我单击的文本。。我想这需要一点时间fixing@DarkNite刚刚更新。检查一下。选择文本的一部分,然后看?你做得几乎正确,但你忘了添加,她需要完整的单词。你能处理它吗?这是可以的,但我想要的是,单击的文本必须显示在一个警报窗口中,并且单击应该是单键单击添加警报到解决方案中。请检查提示是否存在,但该设备的运行方式与您单击单词“应为提示”时所需的方式不符?或者,当您单击拖动并选择的选定文本时,是否应发出警报?