由于医生提供的资料都比较宝贵,所以要求在移动端不能复制。特地总结一下网上和自己的几个方法。
一 方法实现
1.第一种覆盖大多数的方法
1 | *{ |
2.第一种在上面,第二种1
2
3
4
5<div onselectstart="return false;">
-webkit-touch-callout:none;
-moz-touch-callout:none;
-ms-touch-callout:none;
touch-callout:none;
这种在微信浏览器安卓不能复制,但是在安卓的网页上依旧可以复制
3.使用原生js阻止默认事件1
2
3document.oncopy = function(e){
e.preventDefault();
}
在多数安卓机子都无效
4.第四种,触摸的默认事件是滑动:1
ontouchstart="return false"
5.在vue里面实现,阻止默认的长按事件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18##html
<div v-longtap="conpytouch">
hello
</div>
###vue
export default{
data(){...},
components:{},
method:{
copytouch:function(e,s){
e.preventDefault=true
alert("长按了!!")//这里可进行复杂的处理,我
到这步已经莫名其妙好了},
}
}
6.做一个透明罩,增加一个div,设置它的z-index为一个比较大的值1
2
3
4
5
6
7div{
height:100%;
width:1000%;
position:absolute;
z-index:1000;#越大越在上面
opacity:0;#越大越不透明
}
这里还没实验过,但是思路和主要的两个元素在上面了,可能布局有问题,需要调整
二 相关基础知识
1.touch事件
以下是四种touch事件
1 |
|
touch事件的详细介绍:[http://caibaojian.com/mobile-touch-event.html]