Html 使文本不可选择和不可复制(webkit,被可复制文本包围)
下面的代码段显示了如何使文本不可选择。遗憾的是,如果在Chrome中选择任意一侧的文本,则在复制和粘贴时,未选择的文本也会被粘贴 有没有什么方法可以让大量的文字和不可选择的内容贯穿始终,你可以复制和粘贴,而不可选择的内容都不会被粘贴Html 使文本不可选择和不可复制(webkit,被可复制文本包围),html,css,selection,Html,Css,Selection,下面的代码段显示了如何使文本不可选择。遗憾的是,如果在Chrome中选择任意一侧的文本,则在复制和粘贴时,未选择的文本也会被粘贴 有没有什么方法可以让大量的文字和不可选择的内容贯穿始终,你可以复制和粘贴,而不可选择的内容都不会被粘贴 .hide{ 颜色:橙色; -webkit触摸标注:无; -webkit用户选择:无; -khtml用户选择:无; -moz用户选择:无; -ms用户选择:无; 用户选择:无; } Hello此文本可供选择,但我不是。您可以全天选择我css可以禁用选择突出显示,但
.hide{
颜色:橙色;
-webkit触摸标注:无;
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
用户选择:无;
}
Hello此文本可供选择,但我不是。您可以全天选择我代码>css可以禁用选择突出显示,但是如果您不想使用来复制文本,请使用这段jquery代码
$('.hide').on('copy paste cut drag drop', function (e) {
e.preventDefault();
});
$('.hide')。在('copy paste cut drag drop',函数(e)上{
e、 预防默认值();
});代码>
.hide{
颜色:橙色;
-webkit触摸标注:无;
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
用户选择:无;
}
你好,这个文本是可选择的,但我不是你可以选择我一整天代码>更多解决方法:您可以利用这样一个事实,即CSS生成的内容对于剪贴板(*)是不可见的,因此,当文本移动到某个属性时,使用空跨度,您可以获得与请求的ClibBoard行为相似的视觉效果:
[数据文本]{
颜色:橙色;
}
[数据文本]::之后{
内容:attr(数据文本);
}
您好此文本可选择您可以全天选择我代码>您可以尝试使用window.getSelection
读取突出显示的文本。请尝试下面的代码示例并查看控制台。这样,您可以从字符串中删除不需要的文本并将其复制到剪贴板。但这并不简单,甚至不可能。这只是一个想法
函数getSelectedText(){
console.log(window.getSelection());
}
document.onmouseup=getSelectedText;
document.onkeyup=getSelectedText代码>
.hide{
颜色:橙色;
-webkit触摸标注:无;
-webkit用户选择:无;
-khtml用户选择:无;
-moz用户选择:无;
-ms用户选择:无;
}
Hello此文本可供选择,但我不是。您可以全天选择我
这在Firefox中运行良好,但在Chrome中似乎不起作用。可能会出现无法选择的重复外观,但我仍然可以使用Chrome复制粘贴它。这非常好!我的内容是动态生成的,所以我最终有一个正则表达式解析3个组,在之前-(没有拷贝)-之后。然后我运行了这个JS行line=line.replace(spacerTextRegex,“$1$3”)代码>使用CSS放置文本是一种糟糕的可访问性实践。屏幕阅读器无法读取此文本。@SylvainDNS可访问性是一个很好的观点,但据我所知,至少最近的屏幕阅读器能够很好地解析和读取CSS生成的内容,考虑到它可以用作辅助工具(参见示例:)。