使用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刚刚更新。检查一下。选择文本的一部分,然后看?你做得几乎正确,但你忘了添加,她需要完整的单词。你能处理它吗?这是可以的,但我想要的是,单击的文本必须显示在一个警报窗口中,并且单击应该是单键单击添加警报到解决方案中。请检查提示是否存在,但该设备的运行方式与您单击单词“应为提示”时所需的方式不符?或者,当您单击拖动并选择的选定文本时,是否应发出警报?