如何在元素单击事件中获取选定的文本?

How can I get selected text on a element click event?

我可以在按钮单击事件中获取选定的文本。但我想在元素点击事件中获取它。

这是我的代码。提前致谢

function GetSelectedText(){
    console.log(getSelection().toString());
}
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Laborum, nam!</p>
<a role="button" id="a" onclick="GetSelectedText()">a element</a>
<button type="button" id="button" onclick="GetSelectedText()">Button</button>

function GetSelectedText(){    
    return console.log(window.getSelection().toString());
}
<p id="text">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Laborum, nam!</p>
<button type="button" id="button" onclick="GetSelectedText()">Button</button>

您可以通过这种方式向您的 a 标签添加事件来实现此目的。

function GetSelectedText(){
  selectedText = getSelection().toString();
  console.log(selectedText);
}

document.getElementById("a").addEventListener("mousedown", function(event) {
    event.stopImmediatePropagation();
    event.preventDefault();
});
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Laborum, nam!</p>
<a role="button" id="a" onclick="GetSelectedText()">a element</a>
<button type="button" id="button" onclick="GetSelectedText()">Button</button>