Для чего используется disableSelection в пользовательском интерфейсе jQuery?

86

Может ли кто-нибудь помочь мне понять, почему это полезно и когда его использовать?

$( "#sortable" ).disableSelection();
Никола
источник

Ответы:

104

Это полезно, если вы хотите, чтобы текст не выделялся. Если, например, вы хотите выполнить перетаскивание элементов с текстом, это будет раздражать пользователя, если текст в поле случайно будет выделен при попытке перетащить поле.

кба
источник
1
Согласен! Итак, почему они отказались от disableSelection ()?
Скотт Стаффорд
5
@ScottStafford Потому что, как правило, отключение выбора плохо влияет на пользовательский интерфейс. В jQuery выбор по-прежнему автоматически отключается при использовании Draggable and Sortable . Кроме того , тот же эффект может теперь быть достигнуто с помощью CSS: user-select: none. См. Эту статью о выборе пользователя в сети разработчиков Mozilla .
kba
8

Caveat emptor: .disableSelection()на самом деле вредно для некоторых браузеров, поскольку предотвращает щелчок по активным элементам (например, textarea) внутри сортируемого.

  • Firefox 33.1 для Mac OS X (Yosemite): .disableSelection()предотвращает нажатие на встроенное textarea; в противном случае, похоже, не имеет никакого эффекта (т.е. по-прежнему невозможно выделить текст с помощью мыши в сортируемом, если он опущен)
  • Chrome 39.0.2171.71 (64-разрядная версия) для Mac OS X: .disableSelection()похоже, не имеет никакого эффекта.
DomQ
источник
0

В документации jQuery сказано не использовать его http://api.jqueryui.com/disableselection/

Кроме того, я обнаружил, что он сделал элементы contenteditable="true"недоступными для редактирования.

Шейн Роватт
источник