2013-03-14 57 views
0

我有一个div容器放置在html页面内。里面有一些文字。现在,我希望用户选择的文本(任何数量)显示在同一页面上的另一个div容器中。使用Javascript/Jquery的文本选择

<div id="d1"> Some Random text, Some Random text Some Random text, Some Random text</div> 
<div id="d2"></div> 

我坚持就如何提取从d1容器中的文本。我曾尝试使用window.getSelection()及相关方法。讽刺的是,它应用于整个文件。如何去做呢?

P.S-JSFiddle演示将会有所帮助。

+2

P.P.S.一个你试过的JSFiddle会更有帮助 – Alexander 2013-03-14 19:10:29

+4

看看这个http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text .html – mavili 2013-03-14 19:11:45

+0

http://stackoverflow.com/questions/6251937/how-to-get-selectuser-highlighted-text-in-contenteditable-element-and-replac – Dom 2013-03-14 19:12:42

回答

0

想这在我的Mac似乎是工作在Safari/Chrome和FF不知道IE虽然

<head> 
    <script> 
     var mouseup_fun = function() 
     { 
      var str = document.getSelection().toString(); 
      if (str.length > 0) { 
       document.getElementById("div2").innerHTML = str; 
      } 

     } 
    </script> 
</head> 
<body > 
    <div id="div1" onmouseup="mouseup_fun()"> 
     Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
    </div> 
    </br></br> 
    <div id="div2"> 

    </div> 
</body> 
</html> 
+0

谢谢大家。上述答案运作良好。爱堆溢出社区:) – user2171262 2013-03-15 03:15:54