Mam kilka elementów. Niektóre są przeciągalne, niektóre są zrzucane, a niektóre są jednocześnie. Jak mogę wykryć, czy element jest przeciągalny lub można go zrzucić?Jak sprawdzić, czy element jest zrzucany, przeciągalny lub inny "ble"?
Odpowiedz
Można także wykorzystywać dane jquery() tak ..
if ($(elem).data('draggable')) {
alert("yes");
}
else {
alert("no");
}
if ($(elem).data('fooable')) {
alert("yes");
}
else {
alert("no");
}
Zobacz tutaj: http://bootply.com/60153
po prostu upewnij się, że nie piszesz instrukcji if/else bez nawiasów klamrowych! – Mathletics
Więc jQuery rejestruje wszystkie swoje '~ bles' w '.data'? –
Tak, jQuery używa danych() do wielu wewnętrznych rzeczy - http://ejohn.org/apps/workshop/adv-talk/ - Sprawdzanie klas CSS jest również wykonalne, nie jestem pewien, który byłby lepszy w Twój przypadek lub z punktu widzenia wydajności. – ZimSystem
Dla elementów Draggable:
$(elem).is('.ui-draggable')
czy mógłbyś filter
, lub po prostu wybrać $('.ui-draggable');
.
Dla droppable, należałoby użyć .ui-droppable
, skalowalny jest .ui-resizable
, wybierana jest .ui-selectable
do pojemnika chociaż wybranych elementów są .ui-selectee
, sortable jest .ui-sortable
do pojemnika.
Co jest lepsze? Sprawdzanie lub sprawdzanie klasy Css w "danych"? I dlaczego? –
To naprawdę zależy od twojej implementacji. Usunięcie zajęć jest bardzo łatwe, a usunięcie niektórych danych jest łatwe. Mam wrażenie, że to pytanie jest symptomem niewłaściwego podejścia. – zzzzBov
To działa na mnie z JQuery 1.10.2
if ($("el").data('uiDraggable')){ //or uiDroppable
alert("draggable")
} else {
alert("not draggable")
}
alternatywnie można wywołać metodę .data() bez argumentu:
$("el").data()
To powinno wydrukować coś podobnego
object {uiDraggable.. $ (Function anonimowy) (funkcja anonimowa)}
gdzie można zobaczyć właściwości obiektu.
używam modernizr:
if (Modernizr.draganddrop) {
// use drag and drop
}
Dlaczego nie można używać oryginalnego selektor używany podczas uruchamianiu 'droppable' lub' draggable'? – zzzzBov
@zzzzBov, mój conrol jest ładowany za pomocą AJAX, więc nie wiem, co się stało w dokumencie. –
proszę pokazać kod. Nie mam pojęcia, o czym mówisz. Jeśli wysyłasz kod HTML za pośrednictwem AJAX, dlaczego ma to wpływ na to, czy element można przeciągnąć, czy zrzucić? – zzzzBov