我想在用户选择页面上的任何文本时执行操作。我试过这样的事情:
var selObj;
document.querySelector("p").onselect = function(){
selObj = window.getSelection();
var selectedText = selObj.toString();
//action
但后来我发现onselect
仅适用于输入和文本区域,没有其他方法可以尝试这样的事情。
编辑:我知道如何获取所选文本,我需要在选择文本时触发的事件!
答案 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>