Javascript.RU

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

Запретить выделение.
Привет.
Какой то текст <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, то выделение срабатывает. И это логично. Как можно это решить?
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2022, 12:00
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 766

Вроде решил.
При выделении, выделенная строка оборачивается в span и прописывается класс. Поэтому сделал так

const child = $(span.childNodes);
    for (key in child) {
        var sub = child[key];
        var cls = sub.className;
         if(cls === undefined)continue;
        if (cls == 'no-moder') { return false; }
    }


Но как то это не по феншую,имхо)

Последний раз редактировалось ureech, 15.10.2022 в 12:05.
Ответить с цитированием
  #3 (permalink)  
Старый 15.10.2022, 13:15
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

https://webref.ru/css/user-select
Ответить с цитированием
  #4 (permalink)  
Старый 15.10.2022, 20:39
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 766

Alexandroppolus, спасибо. Это может сработать).
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Htaccess, как запретить доступ ко всем кроме нескольких файлов eddin Серверные языки и технологии 8 18.02.2016 19:32
Как отменить выделения dmitry111 Общие вопросы Javascript 16 16.09.2012 13:35
Как запретить отмену выделения текста от клика мышью? Маэстро Internet Explorer 0 03.04.2012 21:21
Выделение текста в текстовом поле. Как снять выделение с пробела вконце? Roman Koff Events/DOM/Window 10 01.07.2010 16:48
Выделение одиночных тэгов Pattern Events/DOM/Window 7 26.05.2009 23:29