Запретить выделение.
Привет.
Какой то текст <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, то выделение срабатывает. И это логично. Как можно это решить? |
Вроде решил.
При выделении, выделенная строка оборачивается в 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; } } Но как то это не по феншую,имхо) |
|
Alexandroppolus, спасибо. Это может сработать).
|
Часовой пояс GMT +3, время: 16:25. |