Ответ, который вы выбрали как правильный, не совсем корректен. Это достижимо:
Используйте бесполезный помощник, чтобы остановить изменение размера в событии изменения размера:
$( ".selector" ).resizable({
resize: function(event, ui) {
// resize $(this) as you wish
},
helper: $("</div>")
});
В событии изменения размера измените размеры и положение изменяемого размера по вашему желанию. У вас все еще есть проблема с событием остановки. Непосредственно перед тем, как срабатывает событие остановки, jquery изменяет размер вашего элемента - чего вы не хотите. Все, что вы можете сделать, это сбросить состояние объекта, как это было в прошлый раз, когда произошло событие изменения размера. Таким образом, в событии stop вы можете сбросить размеры и положение изменяемого размера, как они были установлены вами в последнем событии «resize», которое сработало. Для этого вам нужно объявить некоторые переменные в более высоком контексте или использовать метод element.data () jquery - ваш выбор (вы даже можете создать невидимый клон всего объекта, если вам это кажется более удобным). Вот обзор окончательной структуры кода:
$( ".selector" ).resizable({
resize: function(event, ui) {
// resize $(this) as you wish and then save the dimensions and positions to some variables declared in a higher context
},
helper: $("</div>"),
stop: function(){
// restore $(this) position and location as it was last set in the resize event
}
});