Não é possível aplicar o JqueryUI Redimensionável AspectRatio após a inicialização?
Eu estava tentando ativar / desativar as relações de aspecto dinamicamente no JQueryUI redimensionável, mas mesmo depois de definir a opção como false, ele mantém a relação de aspecto. Abaixo está o código com o qual estou trabalhando atualmente:
$('#aspect_check').click( function() {
var ischecked = $('#aspect_check').prop('checked');
if (ischecked) {
$( "#resizable" ).resizable( "option", "aspectRatio", .75);
} else {
$( "#resizable" ).resizable( "option", "aspectRatio", false );
}
});
Eu encontrei um relatório de bug de três anos atrás, que parece que ainda não foi corrigido, apesar de ser considerado crítico.http: //bugs.jqueryui.com/ticket/418
As soluções alternativas não funcionam com as versões mais recentes. Alguma ideia
Edit: Depois de passar por muitos relatórios de erros, aqui está uma solução:
$(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"]));
});
Cole-o na sua seção de scripts javascript. Espero que ajude alguém com problema semelhante!