鍍金池/ 問答/HTML/ 屏蔽鼠標(biāo)右擊時(shí)自動(dòng)選中文本的功能

屏蔽鼠標(biāo)右擊時(shí)自動(dòng)選中文本的功能

在元素上右擊時(shí) 如果點(diǎn)擊的位置剛好有文本 附近的文本就會(huì)被選中
現(xiàn)在我想去掉這個(gè)默認(rèn)功能
試過的方法有兩個(gè)
1 css user-select:none;
2 js window.getSelection().removeAllRanges();
這兩個(gè)方法都會(huì)有一個(gè)問題:會(huì)把之前 手動(dòng)選擇的文本 也清楚掉

大佬們,有做過類似功能的 給點(diǎn)思路 萬分感謝

回答
編輯回答
不歸路

就算你什么都不寫, 默認(rèn)情況下。 用戶右鍵單擊也會(huì)清除之前手動(dòng)選擇的文本啊

2017年1月10日 11:51
編輯回答
來守候
document.addEventListener('mousedown', (event) => {
      // 右鍵
      if (event.button === 2) {
        // 用戶沒有選擇文字
        if (window.getSelection().isCollapsed) {
          // 禁用文字選擇
          document.body.style.userSelect = 'none';

          // 下一幀恢復(fù)選擇能力
          setTimeout(() => {
            document.body.style.userSelect = 'auto';
          }, 0);
        }
      }
    });
2017年9月10日 14:26