jquery redimensionnable faux retour
-
25-09-2019 - |
Question
J'ai un objet qui a un statut de propriété = « verrouiller ». Le div qui représente cet objet est redimensionnable et draggable.
Pour la glissable, si i utilise la logique suivante puis le glissement est effectivement verrouillé commencer: {... si l'état == verrouillage puis return false ...}
Mais la même logique pour redimensionnable ne fonctionne pas
Je peux régler la redimensionnable ( « désactivé »), mais je me demandais si je peux arrêter le début ou Redimensionner dans les redimensionner les événements
Merci
La solution
Il ne semble pas que vous pouvez annuler un événement resize dès le début / redimensionne méthodes.
peut spécifier un sélecteur auquel les événements redimensionnables ne sont pas applicables, en utilisant l'option cancel
. Avec cette stratégie, vous devez ajouter une classe à chaque div
redimensionnable indiquant si oui ou non vous voulez qu'il soit redimensionnée.
Par exemple, disons que vous avez un ensemble de données comme ceci:
var data = [
{ id: 'test1', status: 'lock' },
{ id: 'test2', status: 'unlock' },
{ id: 'test3', status: 'lock' }
];
Et vous vouliez verrouiller ces éléments avec un statut: « verrouiller ». En supposant que vous avez du code qui crée des éléments DOM à partir de ces données comme ceci:
var i, length = data.length;
for(i = 0; i < length; i++) {
$("body").append("<div id='" + data[i].id + "' class='resizable " + data[i].status + "'/>");
}
Notez que les éléments ont maintenant une classe (verrouiller ou déverrouiller) en fonction de leur propriété « état ».
Maintenant, vous pouvez effectuer les opérations suivantes pour annuler le redimensionnement des éléments avec une lock
de classe:
$(".resizable").resizable({ cancel: ".lock" });