Для чего используется 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()похоже, не имеет никакого эффекта.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.