Sto utilizzando le funzioni della libreria JQuery UI droppable e desidero fornire un feedback visivo all'utente quando si posiziona su un target trascinabile. Per questo posso usare facilmente l'opzione hoverClass
per specificare quale classe usare quando hanno un oggetto trascinabile al passaggio del mouse.Jquery UI Droppable: come posso utilizzare diversi valori hoverClass in base a qualche logica?
Ma quello che voglio fare è usare un diverso valore hoverClass
a seconda della logica. Fondamentalmente, ci sono un certo numero di aree che sono "droppabili", e c'è una serie di elementi che possono essere trascinati e rilasciati - tuttavia, non tutti gli elementi possono essere rilasciati su tutte le aree. Quindi mi piacerebbe avere, ad esempio, uno sfondo verde se il drop è valido, e uno sfondo rosso se il drop non è valido.
Come si può fare? So quale logica voglio usare, ma dove posso aggiungere la logica. Ovviamente ha bisogno di essere da qualche parte in cui posso accedere all'elemento che viene trascinato e al potenziale elemento di destinazione di rilascio.
Il mio codice semplice finora è la seguente:
$(".DragItem").draggable({
revert: true,
helper: "clone"
});
$(".DropItem").droppable({
tolerance: "touch",
hoverClass: "DropTargetValid"
});
Questo non risponde direttamente alla tua domanda, ma suona bene per il vostro caso d'uso - Hai guardato utilizzando le opzioni/'' scope' accept' di assegnare certi draggables a determinati droppables? Quindi non avresti bisogno della logica per determinare hoverClass - sarebbe assegnato solo quando il draggable accetta il droppable. – freejosh
@freejosh: Non penso che questo mi permetterebbe di specificare una classe per le gocce "non valide". Ora ho la mia risposta: D – musefan