我怎么知道用户何时选择一个段落?

时间:2015-03-02 19:40:39

标签: javascript onselect

我想在用户选择页面上的任何文本时执行操作。我试过这样的事情:

 var selObj;

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

但后来我发现onselect仅适用于输入和文本区域,没有其他方法可以尝试这样的事情。

编辑:我知道如何获取所选文本,我需要在选择文本时触发的事件!

2 个答案:

答案 0 :(得分:0)

您可以将mouseup事件绑定到段落(" p")标记。在该事件处理程序中,您可以检查:

document.selection.createRange().text

window.getSelection()

另外,你可以在这里查看 javascript to get paragraph of selected text in web page

答案 1 :(得分: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>