Javascript 如何在文本框中获取选定文本

Javascript 如何在文本框中获取选定文本,javascript,asp.net,textbox,Javascript,Asp.net,Textbox,我在此处使用超链接,单击要复制所选文本的超链接事件(我已使用鼠标指针或高亮显示的文本选择)在使用java脚本的文本框内,我只希望文本框中的选定文本,我从鼠标指针选择或突出显示该文本框。我的java脚本正在工作,但它复制了div的全文 <li><a href="#" onclick="JAVASCRIPT:return Edit();">Candidate Name</a> </li> <script type="text/javascript

我在此处使用超链接,单击要复制所选文本的超链接事件(我已使用鼠标指针或高亮显示的文本选择)在使用java脚本的文本框内,我只希望文本框中的选定文本,我从鼠标指针选择或突出显示该文本框。我的java脚本正在工作,但它复制了div的全文

<li><a href="#" onclick="JAVASCRIPT:return Edit();">Candidate Name</a> </li>
<script type="text/javascript">
    function Edit() {
        alert("hiii");
        document.getElementById('<%=txtbox.ClientID%>').value = document.getElementById('<%=divtext.ClientID%>').innerHTML;
         return true;
    }
</script>
<div>
    <asp:TextBox ID="txtbox" runat="server"></asp:TextBox>
</div>
<div id="divtext" runat="server">
    TCS Infosys Wipro HP HCL Microsoft Facebook Facebook Facebook 
</div>
  • 函数编辑(){ 警报(“hiii”); document.getElementById(“”).value=document.getElementById(“”).innerHTML; 返回true; } TCS Infosys Wipro HP HCL Microsoft Facebook
    试试这个

    <!DOCTYPE html>
    <html>
    <script type="text/javascript">
     function getSelectionText(divID) {
        var selectedText = "";
        if (window.getSelection) {
            var sel = window.getSelection();
            var div = document.getElementById(divID);
    
            if (sel.rangeCount) {
                // Get the selected range
                var range = sel.getRangeAt(0);
    
                // Check that the selection is wholly contained within the div text
                if (range.commonAncestorContainer == div.firstChild) {
                    var selectedText = range.toString();
                   }
              }
           }
         return selectedText;
       }
    
       function Edit() {
            var selectedText = getSelectionText("divtext")
            document.getElementById("txtbox").value =  selectedText;
            return true;
       }
     </script>
    <body>
            <li><a href="#" onclick="JAVASCRIPT:return Edit();">Candidate Name</a> </li>
             <div>
                <input type="text" ID="txtbox" />
            </div>
            <div id="divtext">
                TCS Infosys Wipro HP HCL Microsoft Facebook Facebook Facebook 
            </div>
     </body>
    
    
    函数getSelectionText(divID){
    var selectedText=“”;
    if(window.getSelection){
    var sel=window.getSelection();
    var div=document.getElementById(divID);
    如果(选择范围计数){
    //获取所选范围
    var范围=选择范围(0);
    //检查所选内容是否完全包含在div文本中
    if(range.commonAncestorContainer==div.firstChild){
    var selectedText=range.toString();
    }
    }
    }
    返回所选文本;
    }
    函数编辑(){
    var selectedText=getSelectionText(“divtext”)
    document.getElementById(“txtbox”).value=selectedText;
    返回true;
    }
    
  • TCS Infosys Wipro HP HCL Microsoft Facebook

    谢谢Damith,但我只希望我的上下文菜单位于选定的div区域,而不是整页,你能帮我吗。我想说的是,我想右键点击divtext,而不是页面的其他部分。嗨,Navnath,非常感谢。但我想我的上下文菜单只在选定的分区,而不是整个页面,你可以帮我在这方面。我的意思是,我想右键单击另一部分的divtextpage@SANDEEP...Check我的新解决方案。