Был случай, когда у меня была горизонтальная полоса прокрутки, и текст на странице выделялся при перетаскивании полосы прокрутки. Я использовал jQuery, чтобы добавить «невыбираемый» класс в тело, когда моя функция запуска прокрутки сработала, и удалил класс, когда моя функция остановки прокрутки была выполнена. Вот так:
function startDrag(event){
$('body').addClass('unselectable');
// start drag code
}
function stopDrag(event){
$('body').removeClass('unselectable');
// stop drag code
}
И вот как выглядел невыбираемый класс в моем документе CSS.
.unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}