Próbowałem dynamicznie włączać/wyłączać współczynniki proporcji w JQueryUI, jednak nawet po ustawieniu opcji na false, zachowuje ona proporcje. Poniżej znajduje się kod Obecnie pracuję z:Nie można zastosować JqueryUI Resizable AspectRatio po inicjalizacji?
$('#aspect_check').click(function() {
var ischecked = $('#aspect_check').prop('checked');
if (ischecked) {
$("#resizable").resizable("option", "aspectRatio", .75);
} else {
$("#resizable").resizable("option", "aspectRatio", false);
}
});
znalazłem raport o błędzie od 3 lat temu, który wygląda, jakby nadal nie został rozwiązany pomimo oznakowanie to krytyczna. http://bugs.jqueryui.com/ticket/4186
Obejścia nie działają z najnowszymi wersjami. Jakieś pomysły?
Edycja: Po przejściu przez wiele raportów o błędach, o to obejść:
$(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"]));
});
Wklej go w sekcji skryptu JavaScript. Mam nadzieję, że pomaga komuś z podobnym problemem!
edytować swoje prace! Dzięki – willDaBeast
Obejście działa tylko z pozytywnym 'originalPosition'. Każdy pomysł, jak sprawić, by działał również z wartością ujemną? – Core972