第40天 怎么才能让图文不可复制?
-webkit-user-select: none;
-ms-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
postcss + user-select: none; 😆
user-select:none
利用 user-select: none
属性,让元素不能被选中。
user-select
用css
禁止选择文本// 禁止右键菜单
document.body.oncontextmenu = e => {
return false;
// e.preventDefault();
}
// 禁止文字选择
document.body.onselectstart = e => {
return false;
// e.preventDefault();
}
// 禁止复制
document.body.oncopy = e => {
return false;
// e.preventDefault();
}
// 禁止粘贴
document.body.onpaste = e => {
return false;
// e.preventDefault();
}
CSS方式:
/* CSS禁止文本选择,这样不会触发js */
body {
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
}
使用e.preventDefault()
也可以禁用,但建议使用return false
这样就不用去访问e
和e
的方法了。
示例中document.body
全局都禁用了,也可以对dom
(某些区域)进行禁用
-webkit-user-select: none;
-ms-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;
Most helpful comment
-webkit-user-select: none;
-ms-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
user-select: none;