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 以获取网页中选定文本的段落

于 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 回答