Подтвердить что ты не робот

Как можно отменить выбор текста с помощью Javascript или jQuery?

У меня есть элемент draggable (jQuery UI) с текстом "отменен". Вот что я имею в виду:

$('#main').draggable({
        cancel: '#main>* *',
        start: function(){
          // deselect text
        }
});

Когда я перетаскиваю элемент, я часто выбираю текст случайно. Я хочу отменить выделение текста при перетаскивании элемента.

4b9b3361

Ответ 1

Очистить выбор документа document.selection.empty();

Что-то вроде:

 $('#main').draggable({
     cancel: '#main>* *',
     start: function(){
      // deselect text
      document.selection.empty();
     }
 });

Ответ 2

Отменить выбор всего, что вы можете использовать:

document.getSelection().removeAllRanges();

Ответ 3

jQuery UI теперь включает .disableSelection(), который вы можете использовать, чтобы предотвратить выбор текста внутри ваших элементов. Документация API на нем не очень полезна, но: http://api.jqueryui.com/disableSelection/

В качестве ответа в стороне, ответ Eric G оказался для меня очень полезным при создании моего собственного инструмента выделения текста, как заметил Лоуренс, он не выкинет ошибку, если текст не был выбран.