比如我有一个 p,用户选中 p 中的内容,然后alert("ok");
应该如何判断是否选中了 p 内的文本而不是 p外的文本?
jquery 绑定事件不知道应该绑定哪一个。。
希望得到解答!
数据分析师2017-10-01 01:19:21
javascript - jQuery 或者 Js 如何判断 div 内容是否被选中?-PHP中文网问答-javascript - jQuery 或者 Js 如何判断 div 内容是否被选中?-PHP中文网问答
围观一下哦,学习一下。
黄舟2017-04-10 13:11:29
可以给你要探测的<p>
添加mouseup()事件。返回一个值来判断是否选中了这一个<p>
另:附上一小段挺有用的代码,可以获取鼠标选取的文本文字内容:demo on jsFiddle
露珠可以根据这个代码自己改造一下哈
伊谢尔伦2017-04-10 13:11:29
(见楼主位评论)防复制?
堆栈溢出有个全面的答案:Prevent selection in HTML。
HTML属性如果不想挨个写,大可用jQuery或zepto添加之。
防复制,一层窗户纸而已,挡小白不拦黑客。JS调试手段都不用提了,都能变着花样的玩死防复制。甚至于不用JS,一行Shell都能让文字内容一览无遗:
lynx --dump 'http://segmentfault.com/q/1010000000351004'
PHPz2017-04-10 13:11:29
你是在说选中文本事件吧!
selection
http://www.cnblogs.com/rainman/archive/2011/02/27/1966482.html
伊谢尔伦2017-04-10 13:11:29
拿到当前nodeElement对象,再判断就行了。
可以用nodeType判断,
targetNode.nodeType == 3,nodeType等于3是代码textNode也就是文本。
用document.onselectstart事件,具体浏览器还得考虑兼容。
细节这里就不写了,具体如下:
<p id="a">11111111111111111111111111</p>
<script>
document.onselectstart = function(event){
var targetNode = event.target || event.srcElement;
if(targetNode.parentNode.id == 'a' ||targetNode.id == 'a'){
alert(targetNode)
}
}
</script>