我想知道是否有办法禁用从div复制文本?
我去过网站,如果我试图突出或复制一些文字,我无法做到。我想知道是否有人知道我将如何实现这一目标?
<div id="description">However, this valorous visitation of a by-gone vexation,
stands vivified and has vowed to vanquish these venal and virulent vermin
vanguarding vice and vouchsafing the violently vicious and voracious violation
of volition. </div>
答案 0 :(得分:12)
使用CSS只需使用用户选择:
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
适用于Firefox,Chrome和Safari,IE10及更高版本,但不适用于Opera。
这只会阻止用户选择文本,但这会阻止他们复制文本。对按钮上的文字也很好。
在较旧的IE和Opera中,您可以使用以下方法将其设置为无法选择:
var elem = document.getElementById("yourElement");
elem.unselectable = "on"; // For IE and Opera
在JS中,或者只是添加unselectable
属性并将其设置为开启。
以下是一个示例:http://jsfiddle.net/B9yYt/
答案 1 :(得分:1)
您可以在内容之上添加div,如下所示:
<html>
<head>
<style>
#content{
z-index: 0;
background: grey;
}
#overlay{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 9999;
}
</style>
</head>
<body>
<div id="content">
<p>Can't touch this</p>
</div>
<div id="overlay">
</div>
</body>
</html>
答案 2 :(得分:0)
这不是JavaScript - 但您可以通过使用CSS来“禁止”选择某些内容。
::-moz-selection { background: #000000; color: #ffffff; text-shadow: none; }
::selection { background: #000000; color: #ffffff; text-shadow: none; }
请注意,这不是跨浏览器兼容的。