Do czego służy disableSelection w interfejsie użytkownika jQuery?

86

Czy ktoś może mi pomóc zrozumieć, dlaczego jest to przydatne i kiedy go używać?

$( "#sortable" ).disableSelection();
Nikola
źródło

Odpowiedzi:

104

Jest to przydatne, jeśli chcesz uniemożliwić wybór tekstu. Jeśli, na przykład, chcesz utworzyć elementy typu „przeciągnij i upuść” z włączonym tekstem, denerwowałoby użytkownika, gdyby tekst na ramce został przypadkowo zaznaczony podczas próby przeciągnięcia ramki.

kba
źródło
1
Zgadzam się! Dlaczego więc wycofali funkcję disableSelection ()?
Scott Stafford,
5
@ScottStafford Ponieważ generalnie wyłączenie wyboru jest złe dla interfejsu użytkownika. Dzięki jQuery zaznaczanie jest nadal automatycznie wyłączane podczas korzystania z opcji Draggable i Sortable . Ponadto, ten sam efekt można teraz osiągnąć za pomocą CSS: user-select: none. Zobacz ten artykuł o wyborze użytkownika w Mozilla Developer Network .
kba
8

Caveat emptor: .disableSelection()jest w rzeczywistości szkodliwy w niektórych przeglądarkach, ponieważ zapobiega klikaniu aktywnych elementów (np. textarea) Wewnątrz sortowania.

  • Firefox 33.1 dla Mac OS X (Yosemite): .disableSelection()zapobiega klikaniu osadzonych textarea; inaczej nie wydaje się działać (tzn. nadal nie można zaznaczyć myszą tekstu w sortowalnej, jeśli jest pominięty)
  • Chrome 39.0.2171.71 (64-bitowy) dla Mac OS X: .disableSelection()wydaje się nie mieć żadnego efektu.
DomQ
źródło