2015-07-11 73 views
1

高亮显示的文字在一个简单的Web应用程序,我有一些文字,当用户在文本区域highligh一个词,然后点击一个按钮来处理的话,处理程序的文本区域未能获得突出显示的单词。点击一个按钮来检索的文本区域

<input type="button" value="click" onclick="handle()"><input> 
<textarea> </textarea> 
<script> 
function handle() { 
alert(window.getSelection().toString()); 
} 
</script> 

任何想法如何做到这一点?
感谢

UPDATE1

当我在Chrome开发者控制台运行window.getSelection().toString(),它确实给高亮显示的文本,但是,当我点击一个按钮。它没有返回。我想点击将会突出显示突出显示的文字。

+0

尝试[此](http://stackoverflow.com/questions/717224/how-to-get-selected-text-in -textarea)和[此](http://stackoverflow.com/questions/1058048/how-to-get-selected-text-inside-a-textarea-element-by-javascript) – galactocalypse

+0

感谢@galactocalypse为链接。刚刚更新了我的问题,问题似乎是,单击按钮将取消突出显示文本,从而破坏目的。 – packetie

+0

即使使用去光标,选择仍保持选中状态。无论如何你应该得到这些值。我刚刚在FF上试过,它工作。 – galactocalypse

回答

0

单击该按钮,你说会取消。文本。一个解决方法可能是这样的:

  1. 绑定mouseup up事件并存储highlited,如果有。下面是一些参考:Selected text event trigger in Javascript

  2. 当您单击按钮,您可以使用存储的文本。

现在我在我的手机上,但是当我访问一台电脑时,我可以提供一些代码。

下面是一些参考文献还用于防止反白标明文本丢失:Any way to prevent "deselection" of highlighted text?

+0

感谢您的有趣链接。 – packetie

-2

也许尝试这一点 -

窗口(textareaID).getselection()的toString

创建textareaID:

<textarea id="*your id here*><\textarea> 
相关问题