No se puede aplicar JqueryUI Resizable AspectRatio después de la inicialización?
Intenté activar / desactivar dinámicamente las relaciones de aspecto en JQueryUI redimensionable, sin embargo, incluso después de establecer la opción en falso, sigue manteniendo la relación de aspecto. A continuación se muestra el código con el que estoy trabajando actualmente:
$('#aspect_check').click( function() {
var ischecked = $('#aspect_check').prop('checked');
if (ischecked) {
$( "#resizable" ).resizable( "option", "aspectRatio", .75);
} else {
$( "#resizable" ).resizable( "option", "aspectRatio", false );
}
});
Encontré un informe de error de hace 3 años, que parece que todavía no se ha solucionado a pesar de marcarlo como crítico. @http: //bugs.jqueryui.com/ticket/418
Las soluciones alternativas no funcionan con las últimas versiones. ¿Algunas ideas
Edit: Después de pasar por muchos informes de errores, aquí hay una solución:
$(function() {
$.extend($.ui.resizable.prototype, (function (orig) {
return {
_mouseStart: function (event) {
this._aspectRatio = !!(this.options.aspectRatio);
return(orig.call(this, event));
}
};
})($.ui.resizable.prototype["_mouseStart"]));
});
Péguelo en la sección de script de JavaScript. ¡Espero que ayude a alguien con un problema similar!