在某些场景下,若选择页面中某个地方的文本则会选中整个元素的文本,例如:常见的复制链接,长按链接中的某个地方,则会选中整个a标签的所有文本内容。实现以上所述的功能,实现示例:
JS部分:
document.addEventListener("selectionchange", function(e) {
const id = 'myId'
if(document.getSelection().baseNode && document.getSelection().focusNode.parentNode && document.getSelection().focusNode.parentNode.id === id) {
document.getSelection().selectAllChildren(document.getSelection().focusNode.parentNode)
}
});
HTML部分:
<span id="myId">https://baidu.com</span>
在JS部分,常量id是元素中的id(在本例中是"myId"),关键是监听selectionchange事件,这个会有浏览器兼容性问题,在本例中忽略掉了。