Как предотвратить выделение текста при перетаскивании мышью в Firefox? - PullRequest
7 голосов
/ 28 мая 2010

Мне интересно, как эти виджеты перетаскивания отменяют выделение текста в элементе перетаскивания и других элементах на странице. Я попробовал следующий код, который работает в IE8 (не может выделить текст), но не работает (все еще может выбрать текст) в Firefox.

<!DOCTYPE html>
<html>
<body>
  <p>Hello World</p>
  <script type="text/javascript">
    document.onmousemove = function() {
      return false;
  }
  </script>
</body>
</html>

Ответы [ 2 ]

8 голосов
/ 28 мая 2010

Или, аналогично вашему решению IE8 для Moz:

document.body.style.MozUserSelect="none"
4 голосов
/ 04 октября 2013

Был случай, когда у меня была горизонтальная полоса прокрутки, и текст на странице выделялся при перетаскивании полосы прокрутки. Я использовал 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...