¿Cómo desactivo un jQuery arrastrable, por ejemplo, durante una devolución de datos de UpdatePanel?
97
Podría crear una función DisableDrag (myObject) y EnableDrag (myObject)
myObject.draggable( 'disable' )
Luego
myObject.draggable( 'enable' )
Para deshabilitar temporalmente el comportamiento arrastrable, use:
Para eliminar el comportamiento arrastrable de forma permanente, utilice:
fuente
Para habilitar / deshabilitar arrastrable en jQuery usé:
La respuesta de @Calciphus no funcionó para mí con el problema de opacidad, así que usé:
Trabajó en dispositivos móviles tampoco.
Aquí está el código: http://jsfiddle.net/nn5aL/1/
habilitarinhabilitararrastrablejqueryopacidadproblemahtml
fuente
button()
pero eso no ayudó.Me tomó un poco de tiempo descubrir cómo deshabilitar la función de arrastrar al soltar; utilícelo
ui.draggable
para hacer referencia al objeto que se arrastra desde dentro de la función de soltar:HTH alguien
fuente
Parece que nadie miró la documentación original. Puede ser que no lo hubiera en ese momento))
Inicialice un arrastrable con la opción deshabilitada especificada.
Obtenga o configure la opción deshabilitada, después de init.
fuente
En el caso de un diálogo, tiene una propiedad llamada arrastrable, establézcalo en falso.
Aunque la pregunta es antigua, probé la solución propuesta y no funcionó para el diálogo. Espero que esto pueda ayudar a otros como yo.
fuente
A continuación se muestra cómo se vería esto dentro de
.draggable({});
fuente
Tengo una solución más simple y elegante que no estropea clases, estilos, opacidades y demás.
Para el elemento que se puede arrastrar, agrega el evento 'inicio' que se ejecutará cada vez que intente mover el elemento a algún lugar. Tendrá una condición por la cual mudarse no es legal. Para los movimientos que son ilegales, evítelos con 'e.preventDefault ();' como en el código siguiente.
De nada :)
fuente
Cambiar
draggable
atributo dea
fuente