2011-12-18 15 views
11

Estoy usando la biblioteca de jQuery UI para proporcionar algunas funcionalidades de UI a los elementos DOM.Cómo detener la propiedad redimensionable de un elemento en jQuery UI

Tengo un div que se puede cambiar de tamaño cuando el cliente selecciona una opción de dimensión personalizada, pero también tengo otro modo que cambia el tamaño del div con dimensiones fijas y el cliente no puede cambiar el tamaño del div.

Mi código de las "dimensiones personalizadas" es similar a esto:

$("#element").resizable ({ 
    aspectRatio: 4/3, 
    minWidth: 320, 
    minHeight: 240, 
    maxWidth: 640, 
    maxHeight: 480 
}); 

Pero ahora tengo que dejar el evento de cambio de tamaño. ¿Cómo puedo hacer esto?

Gracias.

Respuesta

18

Al desactivar

El plugin proporciona un método de "desactivar" que se le puede llamar así:

$("#element").resizable('disable'); 

El problema es que añade una clase "ui-estatal deshabilitado "al elemento redimensionable dándole un estado de discapacidad visual. Si no desea que se anula el estilo o quita la clase añadido como esto:

$("#element").resizable('disable').removeClass('ui-state-disabled'); 

Al destruir

Otra forma de hacerlo es "destruir" el plugin desde el elemento cuando no quiere que sea de tamaño variable:

$("#element").resizable('destroy'); 

a continuación, puede volver a solicitar su tamaño variable si desea volver a habilitar el efecto nuevo

4

de llamadas o las destroydisable métodos, por ejemplo .:

$("#element").resizable('disable'); 

Si utiliza disable, puede utilizar enable de nuevo más tarde, pero la acción por defecto también atenúa el elemento de un bit que puede que no desee.

Demostraciones en vivo totalmente gratuitas: enable/disable | destroy/recreate

Cuestiones relacionadas