前言:
pc禁止ctrl+c,打开右键;移动端禁止长按选中文本。
1、禁止ctrl+c,禁止打开右键:
<script type="text/javascript">
//禁止右键
document.oncontextmenu = function () { return false; };
//禁止ctrl+c
document.onkeydown = function () {
if ((window.event && window.event.keyCode == 123) || ((event.ctrlKey) || (window.event.keycode == 67))) {
alert(0)
event.keyCode = 0;
event.returnValue = false;
return false;
}
};
</script>
2、禁止长按选中文本:(我使用的是css的, 亲测有用)
(1)css加样式,vue中的话给最外面的 id 为app 的div加class no-touch
.no-touch {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
(2)js 在需要禁止的dom上添加这段代码
ontouchstart="return false;"
3、测试demo源码(可运行):
<!DOCTYPE html>
<html>
<head>
<title>测试</title>
<style type="text/css">
/**加上该class后不能选中文字*/
.no-touch {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
</style>
</head>
<body>
<div class="no-touch">
adkjfadfjjkjkjkjkjkladffffffffffffffffffffffffffffffffffffffff
</div>
</body>
</html>
<script type="text/javascript">
//禁止右键
document.oncontextmenu = function () { return false; };
//禁止ctrl+c
document.onkeydown = function () {
if ((window.event && window.event.keyCode == 123) || ((event.ctrlKey) || (window.event.keycode == 67))) {
alert(0)
event.keyCode = 0;
event.returnValue = false;
return false;
}
};
</script>