1

テキストエリアから選択したテキストを取得するこの機能があります

function getSelText(){
    var text = "";
    if(window.getSelection){
        text = window.getSelection();
    }
    else if(document.getSelection){
        text = document.getSelection();
    }
    else if(document.selection){
        text = document.selection.createRange().text;
    }
    return text;
} 

このようなドキュメントにテキストエリアとリンクがあります

 <textarea id="txtarea2" cols="50" rows="10">This is Some Text</textarea>
 <a href="#" onclick="alert(getSelText())">Click Me</a>

ドキュメントから (テキストエリアからではなく) テキストを選択し、[Click Me] リンクをクリックすると、選択したテキストが警告されます。しかし、Textarea からテキストを選択して [Click Me] リンクをクリックすると、空のダイアログ ボックスが表示されます。

window.onmouseup = function() {
    alert(getSelText());
}

この関数は、ドキュメントまたはテキストエリアから選択した値を警告します。つまり、機能が正しいということです。

ここで、テキストエリアからテキストの任意の部分を選択して「クリックしてください」リンクをクリックすると、テキストエリアから選択が消えますが、ドキュメントからテキストを選択して「クリックしてください」をクリックすると、1つの理由が思い浮かびますリンクの選択はそこにとどまります。「Click Me」リンクをクリックすると選択が消えるため、この理由により、テキストエリアの選択から空の値が返される可能性があります。これを分析したほうがいいかもしれません。

4

0 に答える 0