捕获Mozilla浏览器文本框中突出显示的文本

时间:2012-07-13 10:45:02

标签: javascript cross-browser

  

可能重复:
  Understanding what goes on with textarea selection with JavaScript
  Copy and paste the selected text to the clipboard using JavaScript

我对如何处理这个问题感到有点困惑,我在这个领域有一个文本框我希望用户能够在文本框中突出显示一个单词。我需要捕捉突出显示的单词。它适用于除Mozilla之外的所有浏览器。

我在这里使用onkeydown事件。

var startPos = textComponent.selectionStart;        
var endPos = textComponent.selectionEnd;

selected = textComponent.value.substring(startPos,endPos);

这是我用于Mozilla的代码。它不起作用。

请帮帮我

2 个答案:

答案 0 :(得分:0)

稍微使用谷歌并发现:http://www.codeproject.com/Articles/292159/Javascript-code-to-get-selected-text不确定是否有效,但可能会有所帮助:)

答案 1 :(得分:0)

Howvever, I managed to fix this by this code. Please use this below coding for capturing the textbox selected value.

<**head>
    <script type="text/javascript">
        function GetSelectedText () {
            var selText = "";
            if (window.getSelection) {  // all browsers, except IE before version 9
                if (document.activeElement && 
                        (document.activeElement.tagName.toLowerCase () == "textarea" || 
                         document.activeElement.tagName.toLowerCase () == "input")) 
                {
                    var text = document.activeElement.value;
                    selText = text.substring (document.activeElement.selectionStart, 
                                              document.activeElement.selectionEnd);
                }
                else {
                    var selRange = window.getSelection ();
                    selText = selRange.toString ();
                }
            }
            else {
                if (document.selection.createRange) { // Internet Explorer
                    var range = document.selection.createRange ();
                    selText = range.text;
                }
            }
            if (selText !== "") {
                alert (selText);
            }
        }
    </script>
</head>
<body onmouseup="GetSelectedText ()">
    Some text for selection.
    <br /><br />
    <textarea>Some text in a textarea element.</textarea>
    <input type="text" value="Some text in an input field." size="40"/>
    <br /><br />
    Select some content on this page!
</body>**