このプラグインを使用すると、ユーザーがテキストエリアで選択したテキストを取得できます。このサイトには、ユーザーがテキストエリア外で選択したテキストを取得するための非 jQuery ベースの手順があります。
後者の機能が jQuery プラグインで利用できるかどうか疑問に思っています。
編集:また、選択範囲の開始インデックスと終了インデックスを取得することは可能ですか? つまり、包含要素内で選択が開始および終了する場所は?
このためのプラグインを見つけるのが難しい理由は、それが「jQuery」っぽくないからではありません。つまり、jQuery プラグインは通常 jQuery オブジェクトで動作し、選択は要素とは関係ありません。
編集:質問にこのリンクを投稿したという事実を見逃しましたが、私のバージョンはより適切にフォーマットされているため(ただし、それ以外は同一です)、完全を期すために以下に残します。:)
<script language=javascript>
function getSelText() {
var txt = '';
if (window.getSelection) {
txt = window.getSelection();
} else if (document.getSelection) {
txt = document.getSelection();
} else if (document.selection) {
txt = document.selection.createRange().text;
} else return;
document.aform.selectedtext.value = txt;
}
</script>
<input type="button" value="Get selection" onmousedown="getSelText()">
<form name=aform >
<textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>
コードのスニペットをコピーして貼り付けることには何の問題もありません。ほとんどの人がこのようにして、スニペットに慣れて貼り付けるまで、ビットや部分を変更したり、自分で最初から始めたりするまで続けます。 。
その特定のコードについては、インラインイベントハンドラーに依存せず、jQueryで「マウスダウン」を目立たないように追加する以外は、コピーに問題はありません。