Jak wyłączyć możliwość przeciągania jQuery, np. Podczas ogłaszania zwrotnego UpdatePanel?
99
Mogło utworzyć funkcję DisableDrag (myObject) i EnableDrag (myObject)
myObject.draggable( 'disable' )
Następnie
myObject.draggable( 'enable' )
Aby tymczasowo wyłączyć zachowanie, które można przeciągać, użyj:
Aby trwale usunąć zachowanie, które można przeciągać, użyj:
źródło
Aby włączyć / wyłączyć draggable w jQuery, których użyłem:
Odpowiedź @Calciphus nie działała dla mnie z problemem krycia, więc użyłem:
Pracował również na urządzeniach mobilnych.
Oto kod: http://jsfiddle.net/nn5aL/1/
włączyćwyłączyćprzeciągalnyjquerynieprzezroczystośćproblemhtml
źródło
button()
ale to nie pomogło.Zajęło mi trochę czasu, zanim dowiedziałem się, jak wyłączyć możliwość przeciągania podczas upuszczania - użyj
ui.draggable
do odniesienia się do obiektu przeciąganego z wnętrza funkcji upuszczania:Ktoś HTH
źródło
Wygląda na to, że nikt nie zajrzał do oryginalnej dokumentacji. Może nie było go wtedy))
Zainicjuj plik do przeciągania z określoną wyłączoną opcją.
Pobierz lub ustaw opcję wyłączoną po inicjalizacji.
źródło
W przypadku okna dialogowego ma właściwość o nazwie draggable, ustaw ją na false.
Chociaż pytanie jest stare, wypróbowałem proponowane rozwiązanie i nie zadziałało w przypadku okna dialogowego. Mam nadzieję, że to pomoże innym takim jak ja.
źródło
Poniżej opisano, jak to wyglądałoby w środku
.draggable({});
źródło
Mam prostsze i eleganckie rozwiązanie, które nie psuje klas, stylów, krycia i innych rzeczy.
W przypadku elementu do przeciągania - dodajesz zdarzenie „start”, które będzie wykonywane za każdym razem, gdy spróbujesz gdzieś przenieść element. Będziesz mieć stan, w którym ruch jest niezgodny z prawem. W przypadku ruchów, które są nielegalne - zapobiegaj im za pomocą 'e.preventDefault ();' jak w kodzie poniżej.
Zapraszamy :)
źródło
Zmień
draggable
atrybut zdo
źródło