Используя jquery, как вы подписываетесь на событие изменения размера контейнера? - PullRequest
3 голосов
/ 08 июля 2011

Итак, я знаю, что могу сделать это:

$(window).resize(function() {funkyfunc();});

Это запустит funkyfunc () при изменении размера окна.

Моя проблема в том, что я хотел бы изменить размер элемента управления после изменения размера другого элемента управления. Это не работает - я что-то упускаю или это просто невозможно?

 $('#myDiv').parent().resize(function() {funkyfunc();});

Ответы [ 2 ]

3 голосов
/ 08 июля 2011

Не существует определенного события javascript, такого как изменение размера, к которому вы могли бы привязаться, но вы могли бы выполнить его, найдя, что вызывает изменение размера первого элемента управления, а затем вручную вызвав ваш funkyfunc, когда это произойдет. Или вы можете вызвать пользовательское событие при изменении размера первого элемента управления.

Для вдохновения посмотрите на jQuery изменяемый размер:

http://jqueryui.com/demos/resizable/

Вы увидите опцию «tooResize», которая звучит так, как вы хотите.

3 голосов
/ 08 июля 2011

Событие resize вызывается только на window для изменения размера окна браузера, оно не существует для отдельных элементов. Что бы изменить их размер, кроме вашего кода? Если это так, то вы могли бы заставить свой код вызвать событие resize, вызвав .trigger('resize') или что-то подобное для изменяемого вами элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...