2015-07-11 64 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>