Używam funkcji bibliotecznych JQuery UI droppable i chcę zapewnić wizualną informację zwrotną od użytkownika po najechaniu kursorem nad zrzucanym celem. W tym celu mogę z łatwością użyć opcji hoverClass
, aby określić klasę, która ma być używana, gdy element przeciągany jest najechany.Jquery UI Droppable: Jak mogę używać różnych wartości hoverClass na podstawie pewnej logiki?
Ale chcę użyć innej wartości hoverClass
w zależności od logiki. Zasadniczo istnieje wiele obszarów, które można "zrzucić", i istnieje wiele przedmiotów, które można przeciągać i upuszczać - jednak nie wszystkie przedmioty można upuścić na wszystkich obszarach. Tak więc chciałbym mieć na przykład zielone tło, jeśli kropla jest ważna, i czerwone tło, jeśli kropla jest nieważna.
Jak można tego dokonać? Wiem, jakiej logiki chcę użyć, ale gdzie mogę dodać logikę. Oczywiście musi być gdzieś, gdzie mogę uzyskać dostęp do przeciąganego elementu i potencjalnego elementu docelowego upuszczania.
mój prosty kod do tej pory jest w następujący sposób:
$(".DragItem").draggable({
revert: true,
helper: "clone"
});
$(".DropItem").droppable({
tolerance: "touch",
hoverClass: "DropTargetValid"
});
nie bezpośrednio odpowiedzieć na to pytanie, ale brzmi prawo dla przypadku użycia - nie spojrzał na użyciu 'scope' /' opcje accept' przypisać pewne draggables do niektórych droppables? Wtedy nie potrzebujesz logiki, aby określić hoverClass - zostanie ona przypisana tylko wtedy, gdy przeciągany zaakceptuje droppable. – freejosh
@freejosh: Nie sądzę, że to pozwoliłoby mi określić klasę dla "nieważnych" kropli. Otrzymałem już teraz odpowiedź: D – musefan