0

ユーザーがページでテキストを選択したときにアクションを実行したい。私はこのようなことを試しました:

 var selObj;

       document.querySelector("p").onselect = function(){
       selObj = window.getSelection(); 
       var selectedText = selObj.toString();
       //action

しかし、それonselectは入力とテキスト領域のみであることがわかり、このようなことを試みる他の方法は見つかりませんでした.

編集:選択したテキストを取得する方法を知っています。テキストが選択されたときにトリガーされるイベントが必要です!

4

2 に答える 2

0

mouseup イベントを段落 ("p") タグにバインドできます。そのイベント ハンドラー内で、以下を確認できます。

document.selection.createRange().text

また

window.getSelection()

また、ここで javascript をチェックして、Web ページで選択したテキストの段落を取得することもできます。

于 2015-03-02T19:45:08.557 に答える
0

マウス イベントを使用して、選択範囲をキャプチャします。

var paras = document.getElementsByClassName("para");

for (var i = 0; i < paras.length; i++) {
  paras[i].addEventListener('click', getSelected, false);
}

function selectElementContents(el) {

  return document.getSelection()||window.getSelection();

}

function getSelected() {

  var el = document.getElementById("selectedPara");
  alert(selectElementContents(el));

};
<p class="para">select me</p>
<p class="para">over me</p>
<p class="para">hey here</p>

于 2015-03-02T19:56:15.020 に答える