2011-01-05 4 views
1

J'ai un objet qui a un statut de propriété = « verrouiller ». La div qui représente cet objet est redimensionnable et peut être déplacée.jquery retour redimensionnable faux

Pour le draggable, si j'utilise la logique suivante alors le traînement est effectivement verrouillé début: {... si l'état == verrouillage puis return false ...}

Mais la même logique pour redimensionnable ne travaille 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

Répondre

0

Il ne semble pas que vous pouvez annuler une redimensionner l'événement de la s méthodes tar/redimensionner.

Vous pouvez 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 redimensionnable div indiquant si oui ou non vous voulez qu'il soit redimensionnée.

Par exemple, permet de dire que vous aviez 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 le 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é « statut ».

Maintenant, vous pouvez effectuer les opérations suivantes pour annuler le redimensionnement des éléments avec une classe lock:

$(".resizable").resizable({ cancel: ".lock" });

Essayez-: http://jsfiddle.net/andrewwhitaker/CDUce/

+0

Merci c'est une bonne approche. J'ai accepté comme réponse, mais pour mon application, j'ai un événement mouseDown, je donne la parole evt.stoppropogation lorsque le drapeau d'objet est réglé sur « Lock », cette façon, je n'ai pas à coder le redimensionnable et draggable séparément. – Nilesh