我正在使用此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;
}
答案 0 :(得分:2)
使用以下代码,您可以在整个网页中停用文字选择,除了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";
答案 1 :(得分:1)
试试这个简单的jQuery插件:
jQuery.fn.extend({
disableSelection : function() {
this.each(function() {
this.onselectstart = function() { return false; };
this.unselectable = "on";
jQuery(this).css({
'-moz-user-select': 'none'
,'-o-user-select': 'none'
,'-khtml-user-select': 'none'
,'-webkit-user-select': 'none'
,'-ms-user-select': 'none'
,'user-select': 'none'
});
});
}
});
$('.e-pdfviewer-pageCanvas').disableSelection();