DOM文本选择的事件,NOT在Input或TextArea中



当用户用鼠标高亮显示网页上的段落文本时,我很难找到Javascript事件。一旦文本高亮显示,我就可以使用window.getSelection()来获取它。

这与在<input type="text"><textarea>中捕获事件无关,这很容易。

我感兴趣的是用户何时高亮显示将由CSSuser-select: all;user-select: none;控制的文本。

jQuery答案的奖励。;-(

您可以绑定到mouseup:

<body>
<div style='user-select: all'>
all all all all all all all all all all all 
</div>
<br>
<div style='user-select: none'>
none none none none none none none none none 
</div>
<br>
<div style='user-select: text'>
text text text text text text text text text
</div>  
</body>
<script type="text/javascript">
document.addEventListener('mouseup', event => {
if( window.getSelection().toString().length){
window.alert (window.getSelection().toString());
window.getSelection().empty();
}
})
</script>

最新更新