Показать сообщение отдельно
  #1 (permalink)  
Старый 15.10.2022, 11:49
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Запретить выделение.
Привет.
Какой то текст <span class="test">фффф</span> какой то текст.


Если так
var test = document.querySelectorAll('.test');
$(test).on('mousedown selectstart', function () {
    return false;
});


то выделение не работает, если начинаешь выделять со span. Но если начать выделять с другого места справа или слево, то выделение происходит. Написал так.

let txt = window.getSelection().toString();
    var a = [];
    for(var i=0;i<test.length; i++){
         a = $(test)[i].innerText; 
         if(txt.includes(a))return false;       
    }

Вроде теперь работает. Не выделяет. Но при условии, что в выделение попадает весь текст в span. Но если вместе с новым словом захватывается только часть текста в span, то выделение срабатывает. И это логично. Как можно это решить?
Ответить с цитированием