色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

javascript - 關于禁用文本選擇與復制的問題

瀏覽:114日期:2023-05-11 08:16:28

問題描述

樣式如下

.test1 { user-select: none;}html 結構如下

<body><p class='content'> <p class='test2'>111</p> <p class='test1'>222</p> <p class='test2'>333</p> <p class='test1'>444</p> <p class='test2'>555</p></p></body>

給其中的某幾項做了禁用本文選擇,單獨對某一項選擇時,確實能夠禁用選擇,其中的內容也無法復制,但是如果用cmd + a 進行全選時,會看到被禁用的項在頁面上顯示的是沒有被選擇,但此時內容能被復制下來。

接下來用 js 去控制:

[].forEach.call(document.querySelectorAll(’.test1’), (node) => { node.addEventListener(’copy’, (e) => { e.stopPropagation(); e.preventDefault(); console.log(1); return false; }, true); node.addEventListener(’selectstart’, (e) => { e.stopPropagation(); e.preventDefault(); console.log(2); return false; }, true);});

發現還是會在單獨選取時生效,但全部選取時就失敗了,所以想問下有什么辦法能夠在可選取的節點中穿插不可選取的節點,還能使得全選復制時只選取到可選取的內容。

問題解答

回答1:

可以換種思路,比如把文本放到css中。css中的文本就完全無法選中和復制了。隨手寫了個測試代碼:

JsFiddle: https://jsfiddle.net/d95cugaL/

JsBin: http://jsbin.com/nowoxuceta/e...

或者再進一步,直接把文本放在圖片上...

回答2:

這兒有個思路,就是你可以禁止ctrl+c的鼠標事件。//禁止ctrl復制

document.onkeydown=function(){ if((event.ctrlKey) && (window.event.keycode==67)){ event.returnValue=false; alert('Ctrl+C被禁止啦!'); }}

如果全選有問題,也可以禁止ctrl+A

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产精品久久久亚洲 | 久久国产精品免费看 | 一区二区三区在线 | 网站 | 亚洲在线一区二区三区 | 久久久99精品免费观看 | 成人精品国产亚洲欧洲 | 成人中文字幕在线 | 成人影院午夜久久影院 | 亚洲欧美在线免费 | 有码 在线 | 和老外3p爽粗大免费视频 | 一级做a爰片久久毛片16 | 国产区一区二 | 亚洲天堂一区 | 亚洲国产高清人在线 | 国产成人亚洲综合网站不卡 | 国产精品久久久久久福利 | 成人毛片免费观看视频在线 | 欧美高清一区二区三区欧美 | 色老头oldmoneyvideos | 欧美日韩亚洲高清不卡一区二区三区 | 美女张开腿让我桶 | 美女色黄网站 | 99久久国产综合精品1尤物 | 久久九九免费视频 | 国产亚洲精品高清在线 | 91精品国产高清久久久久 | 久久成人性色生活片 | 久久久一区二区三区 | 日本亚州视频在线八a | 碰碰人人 | 爽爽爽爽爽爽a成人免费视频 | 欧美高清一级毛片免费视 | 成年人午夜免费视频 | 欧美一级毛片日本 | 美女视频免费黄 | 中文字幕s级优女区 | 久香草视频在线观看免费 | 不卡午夜视频 | 国产一区二区日韩欧美在线 | 国产偷国产偷亚洲高清午夜 |