1

重複の可能性:
JavaScript を使用したテキストエリア選択で何が起こっているかを理解する JavaScript
を使用して、選択したテキストをコピーしてクリップボードに貼り付けます

これにどのようにアプローチすべきかについて少し混乱しています。この領域にテキストボックスがあり、ユーザーがテキストボックス内の単語を強調表示できるようにしたいと考えています。強調表示された単語をキャプチャする必要があります。Mozilla を除くすべてのブラウザで動作します。

ここでは onkeydown イベントを使用しています。

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

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

これは、Mozilla で使用したコードです。機能していません。

私を助けてください

4

2 に答える 2

0

グーグルを少し使って、これを見つけました:http: //www.codeproject.com/Articles/292159/Javascript-code-to-get-selected-textうまくいくかどうかはわかりませんが、おそらく役立つでしょう:)

于 2012-07-13T10:50:56.397 に答える
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>**
于 2012-07-16T09:53:25.883 に答える