0

私が開発している JavaScript 関数では、ユーザーは HTML Web ページでいくつかのコンテンツを選択します。選択したコンテンツには、テキスト、HTML 要素、リンク、および画像を含めることができます。

また、コンテンツは、1 つの HTMl 要素の一部から開始し、次に他の HTML 要素のコンテンツ全体などから開始することもできます。

テキストが選択された html 要素の ID を取得する方法を理解しています。

ただし、選択された HTML 要素内のテキストの部分のみを取得するにはどうすればよいですか (つまり、ユーザーが HTML 要素内のコンテンツの一部のみを選択した場合、つまり、その要素のコンテンツ全体を選択していない場合)。また、ユーザーが HTML 要素内の部分的なコンテンツを選択したのか、コンテンツ全体を選択したのかを判断する最も簡単な方法は何ですか? JQuery でのソリューションを希望しますが、javascript ソリューションでも問題ありません。

4

1 に答える 1

0

document.getSelectionドキュメントで選択されたテキストを表す選択オブジェクトを返すTry 。input または textarea 要素で選択されたテキストは返しません。または、 を試してくださいwindow.getSelection

HTML5 DOM 範囲を参照してください

function getSelectedText() {

  // DOM
  // supported by Firefox, Chrome, Opera
  // Concatenate an empty string to fix bug in Safari <2.0 and Firefox < 1.0.3
  if (window.getSelection) {
    return window.getSelection() + '';

  // This seems to work in all browsers that support window.getSelection
  // and also IE 9+? (per MSDN, untested)
  } else if (document.getSelection) {
    return document.getSelection() + '';

  // IE 6, 7 & 8?
  } else if (document.selection) {
    return document.selection.createRange().text;

  } else {
    return null;
  }
}
于 2012-07-24T03:50:52.637 に答える