react中禁止复制的写法

 
 
<div onCopy={(e) => e.preventDefault()}>
这一段文字禁止被复制
</div>
此方式能实现局部禁止复制

这里介绍的是个人觉的最好的一种方式,原理是禁止复制这个方法调用。此外,你还可以从css的角度去解决,代码如下:

<div className="test">
这一段文字禁止被复制
</div>

css:.test{
-webkit-user-select: none;
}

还可以从禁止右键和ctrl按钮等失效的角度出发,或者在已经复制成功后尝试清空或替换剪切板的内容,目前个人还没有实现这样的方式。

一下再给出当前页面禁止复制的方式,只是效果上达到,写出来目的是抛砖引玉;

     window.document.onselectstart = () => {
       return false;
     }
     window.document.oncontextmenu = () => {
       return false;
     }

以上这种方式的的来源链接:点击打开链接

此外,在整个react项目中禁止复制的方式如下:

在项目路径public->index.html中的<body>中加入属性代码: 

oncontextmenu="return false"               

onselectstart="return false"                   禁止选中网页上的内容 

oncopy="return false"                           防复制用户在网页上选中的内容 

延伸:这里是需要注意的是onCopy函数,react中包含的基本事件函数还有如下:

鼠标事件:

onClick

onContextMenu

onDoubleClick

onMouseDown

onMouseEnter

onMouseLeave

onMouseMove

onMouseOut

onMouseOver

onMouseUp

onDrop

onDrag

onDragEnd

onDragEnter

onDragExit

onDragLeave

onDragOver

onDragStart

触摸事件:

onTouchCancel

onTouchEnd

onTouchMove

onTouchStart


键盘事件:

onKeyDown

onKeyPress

onKeyUp


剪切事件:

onCopy

onCut

onPaste


表单事件:

onChange

onInput

onSubmit


焦点事件:

onFocus

onBlur


UI事件:

onScroll


滚动事件:

onWheel


猜你喜欢

转载自blog.csdn.net/qq_29854831/article/details/79385888