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>中加入屬性代碼: 

οncοntextmenu="return false"               

onselectstart="return false"                   禁止選中網頁上的內容 

οncοpy="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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章