我正在使用此CSS禁用文本选择。它适用于Chrome和Safari,但不适用于Firefox
*.e-pdfviewer-pageCanvas {
-moz-user-select: -moz-none !important;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
user-select: none;
}
*.e-pdfviewer-pageCanvas * {
-moz-user-select: text;
-khtml-user-select: text;
-webkit-user-select: text;
-o-user-select: text;
user-select: text;
}
最佳答案
使用以下代码,您可以在除inputs
和textareas
之外的整个网页中禁用文本选择:
document.getElementsByTagName("BODY")[0].onselectstart = function(e) {
if (e.target.nodeName != "INPUT" && e.target.nodeName != "TEXTAREA") {
e.preventDefault();
return false;
}
return true;
};
或者,如果要完全禁用文本选择,则可以使用以下代码:
document.getElementsByTagName("BODY")[0].onselectstart = function(e) {
e.preventDefault();
return false;
};
如果只想禁用具有
.e-pdfviewer-pageCanvas
类的元素的文本选择,则可以使用:var pdfviewer = document.getElementsByClassName("e-pdfviewer-pageCanvas");
for (var i = 0; i < pdfviewer.length; i++) {
pdfviewer[i].onselectstart = function(e) {
e.preventDefault();
return false;
};
};
[编辑]:
如果上述方法都不能解决您的问题,请在HTML
<body>
或您要专门禁用文本选择的元素中使用以下代码:<body onselectstart = "return false;" style = "-moz-user-select: none;">...</body>
或在JavaScript中:
document.getElementsByTagName("BODY")[0].onselectstart = function(e) {return false};
document.getElementsByTagName("BODY")[0].style.mozUserSelect = "none";