![](/img/trans.png)
[英]Event listener for radio button deselection in jquery/javascript
[英]jQuery event to detect deselection of text
jQuery是否捕获了这样的事件,可以在取消选择文本后检测到对文本的取消选择? 到目前为止,我一直在使用一种方法来捕获对文档正文的单击,但是click(或mouseup)会在清除文本之前获得对文本的选择(通过单击文档中的其他位置一次)。
此外,在用户选择页面中的某些文本后,还会触发事件吗? 上面的方法成功工作是因为,显然,在选择了文本之后会触发正文上的click事件。 但是我想要一种更清洁的方式。
注意:此操作在DIV上完成,而不是在INPUT或TEXTAREA元素上完成。
您可以使用Selection-对象代表用户选择的文本范围或当前位置。 您的问题已回答堆栈:
解决方案是创建一个原型,以提高浏览器的兼容性和功能。 这也可以,但是我建议上面链接的解决方案:
编辑:如果它们在范围内,则可以将AnchorOffset和FocusOffset存储到会话中,然后进行比较,简单
$(function() {
$(document).on("mouseup", function() {
var mytext = window.getSelection();
if (typeof sessionStorage.getItem('initialRange') != 'undefined' && (mytext.anchorOffset != sessionStorage.getItem('initialRange') || mytext.focusOffset != sessionStorage.getItem('finalRange'))){
//DO WHAT YOU WANT, THE TEXT HAS BEEN DESELECTED
}
//take the coordenates of mouseup, when the mouse create a range, store the values
if (mytext.anchorOffset != mytext.focusOffset){
sessionStorage.setItem('initialRange', mytext.anchorOffset);
sessionStorage.setItem('finalRange', mytext.focusOffset);
}
});
});
编辑:下次,我会读得更好:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.