亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:115日期: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
相關文章:
主站蜘蛛池模板: 91亚洲区国产区精品区 | 伦理一区二区 | 国产精品正在播放 | 日本三级韩国三级三级a级按摩 | 福利在线不卡 | 欧美一区二区三区久久综 | 国产系列欧美系列日韩系列在线 | 看一级毛片免费观看视频 | 亚洲精品专区一区二区欧美 | 黄色一级在线观看 | 欧美一级大尺度毛片 | 亚洲综合精品一区 | 国产精品yjizz视频网一二区 | 91网站视频在线观看 | 久久国产精品视频一区 | 九九精品久久久久久久久 | 欧美jizz8性欧美18 | 国产美女在线看 | 丁香婷婷成人 | 麻豆久久 | 成人日韩视频 | aaaaaa国产毛片孕妇版 | 亚洲欧美中文字幕专区 | 精品自拍视频在线观看 | 97国产精品欧美一区二区三区 | 中国护士一级毛片免费版本 | 天天影视综合色 | 成人au免费视频影院 | 国产精品亚洲片在线不卡 | 久久国产自偷自免费一区100 | 国外精品视频在线观看免费 | 国产黄色的视频 | 91四虎国自产在线播放线 | 黄色在线播放网址 | 精品国产一区二区二三区在线观看 | 91蝌蚪九色| 免费黄色一级网站 | 欧美一级毛片免费看视频 | 国产精品视频第一页 | 久香草视频在线观看免费 | 手机看片福利日韩国产 |