DOM

Element:select イベント

 編集:2022.09.25 by T.A.

[Edge]。→

いくらかのテキストが選択されたときに発生します。

バブリング あり
キャンセル 不可
インターフェイス ユーザー インターフェイスから作成された場合は UIEvent、それ以外ならば Event
イベント ハンドラー プロパティ

このイベントはすべての言語のすべての要素で利用できる訳ではありません。例えば、HTML では、select イベントはフォームの <input type="text"> および <textarea> 要素からのみ発生します。

選択範囲をログ出力

mdn より

HTML:

<input value="この要素のテキストの一部を選択してみてください。">
<p id="log"></p>

JavaScript:

function logSelection(event) {
  const log = document.getElementById('log');
  const selection = event.target.value.substring(event.target.selectionStart, event.target.selectionEnd);
  log.textContent = `You selected: ${selection}`;
}

const input = document.querySelector('input');
input.addEventListener('select', logSelection);

HTML:

<INPUT id=IdTest type=text value="テストテキストです。"><BR>
<SPAN id=IdLog></SPAN>

JavaScript:

function Job(eve){ //エラーが起こった時のイベント処理:eve に Event オブジェクトが入る。
  D=eve;           //=[object]:[object Event]
	//isTrusted=[boolean]:true
	//type=[string]:select
	//target=[object]:[object HTMLInputElement]
	//currentTarget=[object]:null
	//eventPhase=[number]:0
	//…
  let E=eve.target; //イベントが起きた要素を取得。
  SO=document.getSelection(); //=[object]:テキスト
	//anchorNode=[object]:[object HTMLDivElement]
	//anchorOffset=[number]:0
	//focusNode=[object]:[object HTMLDivElement]
	//focusOffset=[number]:0
	//isCollapsed=[boolean]:true
	//rangeCount=[number]:1
	//type=[string]:Range
	//baseNode=[object]:[object HTMLDivElement]
	//baseOffset=[number]:0
	//extentNode=[object]:[object HTMLDivElement]
	//extentOffset=[number]:0
	//…
  DA=SO.toString();   //選択されたテキスト文字列を得る。
  IdLog.innerHTML=DA; //記録表示。
}
IdTest.onselect=Job;  //エラーが起こった時の処理を割り当てる。

Event.targetdocument.getSelection()Selection.toString()Element.innerHTML


テスト